Lists the IAM users that have the specified path prefix. If no path prefix is specified, the operation returns all users in the AWS account. If there are none, the operation returns an empty list. .
curl -X GET https://iam.amazonaws.com/ \
-d "Action=ListUsers" \
-d "PathPrefix=/" \
-d "Version=2010-05-08"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
IncludeFile "CkXml.pb"
IncludeFile "CkAuthAws.pb"
Procedure ChilkatExample()
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
authAws.i = CkAuthAws::ckCreate()
If authAws.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkAuthAws::setCkAccessKey(authAws, "AWS_ACCESS_KEY")
CkAuthAws::setCkSecretKey(authAws, "AWS_SECRET_KEY")
CkAuthAws::setCkRegion(authAws, "us-east-1")
CkAuthAws::setCkServiceName(authAws, "iam")
CkRest::ckSetAuthAws(rest,authAws)
; URL: https://iam.amazonaws.com/
bTls.i = 1
port.i = 443
bAutoReconnect.i = 1
success = CkRest::ckConnect(rest,"iam.amazonaws.com",port,bTls,bAutoReconnect)
If success <> 1
Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
ProcedureReturn
EndIf
CkRest::ckAddQueryParam(rest,"Action","ListUsers")
CkRest::ckAddQueryParam(rest,"PathPrefix","/")
CkRest::ckAddQueryParam(rest,"Version","2010-05-08")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestNoBodySb(rest,"GET","/",sbResponseBody)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
respStatusCode.i = CkRest::ckResponseStatusCode(rest)
If respStatusCode >= 400
Debug "Response Status Code = " + Str(respStatusCode)
Debug "Response Header:"
Debug CkRest::ckResponseHeader(rest)
Debug "Response Body:"
Debug CkStringBuilder::ckGetAsString(sbResponseBody)
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
xmlResponse.i = CkXml::ckCreate()
If xmlResponse.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkXml::ckLoadSb(xmlResponse,sbResponseBody,1)
ListUsersResponse_xmlns.s
i.i
count_i.i
tagPath.s
UserId.s
Path.s
UserName.s
Arn.s
CreateDate.s
PasswordLastUsed.s
IsTruncated.s
RequestId.s
ListUsersResponse_xmlns = CkXml::ckGetAttrValue(xmlResponse,"xmlns")
i = 0
count_i = CkXml::ckNumChildrenHavingTag(xmlResponse,"ListUsersResult|Users|member")
While i < count_i
CkXml::setCkI(xmlResponse, i)
UserId = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|Users|member[i]|UserId")
Path = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|Users|member[i]|Path")
UserName = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|Users|member[i]|UserName")
Arn = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|Users|member[i]|Arn")
CreateDate = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|Users|member[i]|CreateDate")
PasswordLastUsed = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|Users|member[i]|PasswordLastUsed")
i = i + 1
Wend
IsTruncated = CkXml::ckGetChildContent(xmlResponse,"ListUsersResult|IsTruncated")
RequestId = CkXml::ckGetChildContent(xmlResponse,"ResponseMetadata|RequestId")
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
CkStringBuilder::ckDispose(sbResponseBody)
CkXml::ckDispose(xmlResponse)
ProcedureReturn
EndProcedure
<?xml version="1.0" encoding="utf-8" ?>
<ListUsersResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">
<ListUsersResult>
<Users>
<member>
<UserId>AID2MAB8DPLSRHEXAMPLE</UserId>
<Path>/division_abc/subdivision_xyz/engineering/</Path>
<UserName>Andrew</UserName>
<Arn>arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/engineering/Andrew</Arn>
<CreateDate>2012-09-05T19:38:48Z</CreateDate>
<PasswordLastUsed>2014-09-08T21:47:36Z</PasswordLastUsed>
</member>
<member>
<UserId>AIDIODR4TAW7CSEXAMPLE</UserId>
<Path>/division_abc/subdivision_xyz/engineering/</Path>
<UserName>Jackie</UserName>
<Arn>arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/engineering/Jackie</Arn>
<CreateDate>2014-04-09T15:43:45Z</CreateDate>
<PasswordLastUsed>2014-09-24T16:18:07Z</PasswordLastUsed>
</member>
</Users>
<IsTruncated>false</IsTruncated>
</ListUsersResult>
<ResponseMetadata>
<RequestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</RequestId>
</ResponseMetadata>
</ListUsersResponse>