Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies.
curl -X GET https://iam.amazonaws.com/ \
-d "Action=ListPolicies" \
-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","ListPolicies")
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)
ListPoliciesResponse_xmlns.s
tagPath.s
IsTruncated.s
Marker.s
i.i
count_i.i
PolicyName.s
DefaultVersionId.s
PolicyId.s
Path.s
Arn.s
AttachmentCount.i
CreateDate.s
UpdateDate.s
RequestId.s
ListPoliciesResponse_xmlns = CkXml::ckGetAttrValue(xmlResponse,"xmlns")
IsTruncated = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|IsTruncated")
Marker = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Marker")
i = 0
count_i = CkXml::ckNumChildrenHavingTag(xmlResponse,"ListPoliciesResult|Policies|member")
While i < count_i
CkXml::setCkI(xmlResponse, i)
PolicyName = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|PolicyName")
DefaultVersionId = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|DefaultVersionId")
PolicyId = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|PolicyId")
Path = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|Path")
Arn = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|Arn")
AttachmentCount = CkXml::ckGetChildIntValue(xmlResponse,"ListPoliciesResult|Policies|member[i]|AttachmentCount")
CreateDate = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|CreateDate")
UpdateDate = CkXml::ckGetChildContent(xmlResponse,"ListPoliciesResult|Policies|member[i]|UpdateDate")
i = i + 1
Wend
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" ?>
<ListPoliciesResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">
<ListPoliciesResult>
<IsTruncated>true</IsTruncated>
<Marker>EXAMPLEkakv9BCuUNFDtxWSyfzetYwEx2ADc8dnzfvERF5S6YMvXKx41t6gCl/eeaCX3Jo94/bKqezEAg8TEVS
99EKFLxm3jtbpl25FDWEXAMPLE</Marker>
<Policies>
<member>
<PolicyName>ExamplePolicy</PolicyName>
<DefaultVersionId>v1</DefaultVersionId>
<PolicyId>AGPACKCEVSQ6C2EXAMPLE</PolicyId>
<Path>/</Path>
<Arn>arn:aws:iam::123456789012:policy/ExamplePolicy</Arn>
<AttachmentCount>2</AttachmentCount>
<CreateDate>2014-09-15T17:36:14Z</CreateDate>
<UpdateDate>2014-09-15T20:31:47Z</UpdateDate>
</member>
<member>
<PolicyName>PowerUserAccess</PolicyName>
<DefaultVersionId>v1</DefaultVersionId>
<PolicyId>AGPACKCEVSQ6C2EXAMPLE</PolicyId>
<Path>/</Path>
<Arn>arn:aws:iam::aws:policy/PowerUserAccess</Arn>
<AttachmentCount>0</AttachmentCount>
<CreateDate>2014-08-21T20:25:01Z</CreateDate>
<UpdateDate>2014-08-21T20:25:01Z</UpdateDate>
</member>
<member>
<PolicyName>AdministratorAccess</PolicyName>
<DefaultVersionId>v1</DefaultVersionId>
<PolicyId>AGPACKCEVSQ6C2EXAMPLE</PolicyId>
<Path>/</Path>
<Arn>arn:aws:iam::aws:policy/AdministratorAccess</Arn>
<AttachmentCount>1</AttachmentCount>
<CreateDate>2014-08-21T20:11:25Z</CreateDate>
<UpdateDate>2014-08-21T20:11:25Z</UpdateDate>
</member>
<member>
<PolicyName>ReadOnlyAccess</PolicyName>
<DefaultVersionId>v1</DefaultVersionId>
<PolicyId>AGPACKCEVSQ6C2EXAMPLE</PolicyId>
<Path>/</Path>
<Arn>arn:aws:iam::aws:policy/ReadOnlyAccess</Arn>
<AttachmentCount>6</AttachmentCount>
<CreateDate>2014-08-21T20:31:44Z</CreateDate>
<UpdateDate>2014-08-21T20:31:44Z</UpdateDate>
</member>
</Policies>
</ListPoliciesResult>
<ResponseMetadata>
<RequestId>6207e832-3eb7-11e4-9d0d-6f969EXAMPLE</RequestId>
</ResponseMetadata>
</ListPoliciesResponse>