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"
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
DECLARE @authAws int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.AuthAws', @authAws OUT
EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY'
EXEC sp_OASetProperty @authAws, 'SecretKey', 'AWS_SECRET_KEY'
EXEC sp_OASetProperty @authAws, 'Region', 'us-east-1'
EXEC sp_OASetProperty @authAws, 'ServiceName', 'iam'
EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, STR(@authAws)
-- URL: https://iam.amazonaws.com/
DECLARE @bTls int
SELECT @bTls = 1
DECLARE @port int
SELECT @port = 443
DECLARE @bAutoReconnect int
SELECT @bAutoReconnect = 1
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'iam.amazonaws.com', STR(@port), STR(@bTls), STR(@bAutoReconnect)
IF STR(@success) <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT
PRINT 'ConnectFailReason: ' + @iTmp0
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
RETURN
END
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'Action', 'ListUsers'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'PathPrefix', '/'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'Version', '2010-05-08'
DECLARE @sbResponseBody int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT
EXEC sp_OAMethod @rest, 'FullRequestNoBodySb', @success OUT, 'GET', '/', STR(@sbResponseBody)
IF STR(@success) <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
EXEC @hr = sp_OADestroy @sbResponseBody
RETURN
END
DECLARE @respStatusCode int
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT
IF STR(@respStatusCode) >= 400
BEGIN
PRINT 'Response Status Code = ' + STR(@respStatusCode)
PRINT 'Response Header:'
EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
PRINT @sTmp0
PRINT 'Response Body:'
EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
EXEC @hr = sp_OADestroy @sbResponseBody
RETURN
END
DECLARE @xmlResponse int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Xml', @xmlResponse OUT
EXEC sp_OAMethod @xmlResponse, 'LoadSb', @success OUT, STR(@sbResponseBody), 1
DECLARE @ListUsersResponse_xmlns nvarchar(4000)
DECLARE @i int
DECLARE @count_i int
DECLARE @tagPath nvarchar(4000)
DECLARE @UserId nvarchar(4000)
DECLARE @Path nvarchar(4000)
DECLARE @UserName nvarchar(4000)
DECLARE @Arn nvarchar(4000)
DECLARE @CreateDate nvarchar(4000)
DECLARE @PasswordLastUsed nvarchar(4000)
DECLARE @IsTruncated nvarchar(4000)
DECLARE @RequestId nvarchar(4000)
EXEC sp_OAMethod @xmlResponse, 'GetAttrValue', @ListUsersResponse_xmlns OUT, 'xmlns'
SELECT @i = 0
EXEC sp_OAMethod @xmlResponse, 'NumChildrenHavingTag', @count_i OUT, 'ListUsersResult|Users|member'
WHILE STR(@i) < STR(@count_i)
BEGIN
EXEC sp_OASetProperty @xmlResponse, 'I', STR(@i)
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @UserId OUT, 'ListUsersResult|Users|member[i]|UserId'
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @Path OUT, 'ListUsersResult|Users|member[i]|Path'
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @UserName OUT, 'ListUsersResult|Users|member[i]|UserName'
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @Arn OUT, 'ListUsersResult|Users|member[i]|Arn'
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @CreateDate OUT, 'ListUsersResult|Users|member[i]|CreateDate'
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @PasswordLastUsed OUT, 'ListUsersResult|Users|member[i]|PasswordLastUsed'
SELECT @i = STR(@i) + 1
END
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @IsTruncated OUT, 'ListUsersResult|IsTruncated'
EXEC sp_OAMethod @xmlResponse, 'GetChildContent', @RequestId OUT, 'ResponseMetadata|RequestId'
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @authAws
EXEC @hr = sp_OADestroy @sbResponseBody
EXEC @hr = sp_OADestroy @xmlResponse
END
GO
<?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>