public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonIdentityManagementServiceConfig config = new AmazonIdentityManagementServiceConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonIdentityManagementServiceClient client = new AmazonIdentityManagementServiceClient(creds, config); ListAccessKeysResponse resp = new ListAccessKeysResponse(); do { ListAccessKeysRequest req = new ListAccessKeysRequest { Marker = resp.Marker , MaxItems = maxItems }; resp = client.ListAccessKeys(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.AccessKeyMetadata) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.Marker)); }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { ListAccessKeysResponse response = new ListAccessKeysResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.IsStartElement) { if (context.TestExpression("ListAccessKeysResult", 2)) { UnmarshallResult(context, response); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.Instance.Unmarshall(context); } } } return(response); }
private static void ListAccessKeys(String UserName) { if (String.IsNullOrEmpty(Token)) { stsClient = new AmazonIdentityManagementServiceClient(AccessKeyId, SecretKey, iamconfig); } else { stsClient = new AmazonIdentityManagementServiceClient(AccessKeyId, SecretKey, Token, iamconfig); } ListAccessKeysRequest req = new ListAccessKeysRequest(); if (!String.IsNullOrEmpty(UserName)) { req.UserName = UserName; } try { ListAccessKeysResponse response = stsClient.ListAccessKeys(req); foreach (AccessKeyMetadata a in response.AccessKeyMetadata) { Console.WriteLine("User Name: {0}, Access Key Id: {1}, Status: {2}, Create Date: {3}", a.UserName, a.AccessKeyId, a.Status, a.CreateDate); } } catch (Exception ex) { Console.WriteLine("Error occured while creating user. " + ex.ToString()); } }
public async Task <AccessKeyMetadata[]> ListAccessKeysAsync(string userName = null, CancellationToken cancellationToken = default(CancellationToken)) { ListAccessKeysResponse response = null; var results = new List <AccessKeyMetadata>(); while ((response = await _IAMClient.ListAccessKeysAsync(new ListAccessKeysRequest() { Marker = response?.Marker, MaxItems = 1000, UserName = userName }, cancellationToken).EnsureSuccessAsync()) != null) { if (!response.AccessKeyMetadata.IsNullOrEmpty()) { results.AddRange(response.AccessKeyMetadata); } if (!response.IsTruncated) { break; } await Task.Delay(100); } return(results.ToArray()); }
public void RamRequestTest() { ListAccessKeysRequest request = new ListAccessKeysRequest(); ListAccessKeysResponse response = client.GetAcsResponse(request); Assert.NotNull(response.AccessKeys); Assert.NotNull(response.RequestId); }
public void ListAccessKeys() { ListAccessKeysResponse response = Client.ListAccessKeys(); Assert.IsNotNull(response); Assert.IsNotNull(response.AccessKeyMetadata); Assert.AreNotEqual(0, response.AccessKeyMetadata.Count); foreach (var akm in response.AccessKeyMetadata) { Assert.IsNotNull(akm); Assert.IsNotNull(akm.AccessKeyId); Assert.IsNotNull(akm.Status); } }
public static void DeleteAccessKeysForUser(AmazonIdentityManagementServiceClient client, string username) { ListAccessKeysResponse response = client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }).Result; foreach (AccessKeyMetadata akm in response.AccessKeyMetadata) { client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = akm.AccessKeyId }).Wait(); } }
public void TestDeleteAccessKey() { string username = IAMUtil.CreateTestUser(Client); string[] keyIds = new string[2]; try { for (int i = 0; i < 2; i++) { CreateAccessKeyResponse response = Client.CreateAccessKey(new CreateAccessKeyRequest() { UserName = username }); keyIds[i] = response.AccessKey.AccessKeyId; } ListAccessKeysResponse lakRes = Client.ListAccessKeys(new ListAccessKeysRequest() { UserName = username }); Assert.AreEqual(2, lakRes.AccessKeyMetadata.Count()); Client.DeleteAccessKey(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = keyIds[0] }); lakRes = Client.ListAccessKeys(new ListAccessKeysRequest() { UserName = username }); Assert.AreEqual(1, lakRes.AccessKeyMetadata.Count()); Assert.AreEqual(keyIds[1], lakRes.AccessKeyMetadata[0].AccessKeyId); } finally { IAMUtil.DeleteTestUsers(Client, username); } }
public void TestListAccessKeys() { string username = IAMUtil.CreateTestUser(Client); string[] keyIds = new string[2]; try { for (int i = 0; i < 2; i++) { CreateAccessKeyResponse response = Client.CreateAccessKey(new CreateAccessKeyRequest() { UserName = username }); keyIds[i] = response.AccessKey.AccessKeyId; } ListAccessKeysResponse listRes = Client.ListAccessKeys(new ListAccessKeysRequest() { UserName = username }); int matches = 0; foreach (AccessKeyMetadata akm in listRes.AccessKeyMetadata) { if (akm.AccessKeyId.Equals(keyIds[0])) { matches |= 1; } if (akm.AccessKeyId.Equals(keyIds[1])) { matches |= 2; } } Assert.AreEqual(3, matches); } finally { IAMUtil.DeleteTestUsers(Client, username); } }
private static void UnmarshallResult(XmlUnmarshallerContext context, ListAccessKeysResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.Read()) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("AccessKeyMetadata/member", targetDepth)) { response.AccessKeyMetadata.Add(AccessKeyMetadataUnmarshaller.GetInstance().Unmarshall(context)); continue; } if (context.TestExpression("IsTruncated", targetDepth)) { response.IsTruncated = BoolUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("Marker", targetDepth)) { response.Marker = StringUnmarshaller.GetInstance().Unmarshall(context); continue; } } else if (context.IsEndElement && context.CurrentDepth < originalDepth) { return; } } return; }
public async Task TestDeleteAccessKey() { using (var session = new IAMTestSession("TestDeleteAccessKey", Client)) { string username = session.CreateTestUser(); string[] keyIds = new string[2]; for (int i = 0; i < 2; i++) { CreateAccessKeyResponse response = await Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username }); keyIds[i] = response.AccessKey.AccessKeyId; } ListAccessKeysResponse lakRes = await Client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }); Assert.Equal(2, lakRes.AccessKeyMetadata.Count()); await Client.DeleteAccessKeyAsync(new DeleteAccessKeyRequest() { UserName = username, AccessKeyId = keyIds[0] }); lakRes = await Client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }); Assert.Equal(1, lakRes.AccessKeyMetadata.Count()); Assert.Equal(keyIds[1], lakRes.AccessKeyMetadata[0].AccessKeyId); } }
public async Task TestListAccessKeys() { using (var session = new IAMTestSession("TestListAccessKeys", Client)) { string username = session.CreateTestUser(); string[] keyIds = new string[2]; for (int i = 0; i < 2; i++) { CreateAccessKeyResponse response = await Client.CreateAccessKeyAsync(new CreateAccessKeyRequest() { UserName = username }); keyIds[i] = response.AccessKey.AccessKeyId; } ListAccessKeysResponse listRes = await Client.ListAccessKeysAsync(new ListAccessKeysRequest() { UserName = username }); int matches = 0; foreach (AccessKeyMetadata akm in listRes.AccessKeyMetadata) { if (akm.AccessKeyId.Equals(keyIds[0])) { matches |= 1; } if (akm.AccessKeyId.Equals(keyIds[1])) { matches |= 2; } } Assert.Equal(3, matches); } }
public static ListAccessKeysResponse Unmarshall(UnmarshallerContext context) { ListAccessKeysResponse listAccessKeysResponse = new ListAccessKeysResponse(); listAccessKeysResponse.HttpResponse = context.HttpResponse; listAccessKeysResponse.RequestId = context.StringValue("ListAccessKeys.RequestId"); List <ListAccessKeysResponse.ListAccessKeys_AccessKey> listAccessKeysResponse_accessKeys = new List <ListAccessKeysResponse.ListAccessKeys_AccessKey>(); for (int i = 0; i < context.Length("ListAccessKeys.AccessKeys.Length"); i++) { ListAccessKeysResponse.ListAccessKeys_AccessKey accessKey = new ListAccessKeysResponse.ListAccessKeys_AccessKey(); accessKey.AccessKeyId = context.StringValue("ListAccessKeys.AccessKeys[" + i + "].AccessKeyId"); accessKey.Status = context.StringValue("ListAccessKeys.AccessKeys[" + i + "].Status"); accessKey.CreateDate = context.StringValue("ListAccessKeys.AccessKeys[" + i + "].CreateDate"); listAccessKeysResponse_accessKeys.Add(accessKey); } listAccessKeysResponse.AccessKeys = listAccessKeysResponse_accessKeys; return(listAccessKeysResponse); }
private static void UnmarshallResult(XmlUnmarshallerContext context, ListAccessKeysResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth += 2; } while (context.ReadAtDepth(originalDepth)) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("AccessKeyMetadata/member", targetDepth)) { var unmarshaller = AccessKeyMetadataUnmarshaller.Instance; var item = unmarshaller.Unmarshall(context); response.AccessKeyMetadata.Add(item); continue; } if (context.TestExpression("IsTruncated", targetDepth)) { var unmarshaller = BoolUnmarshaller.Instance; response.IsTruncated = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Marker", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Marker = unmarshaller.Unmarshall(context); continue; } } } return; }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { ListAccessKeysResponse response = new ListAccessKeysResponse(); while (context.Read()) { if (context.IsStartElement) { if (context.TestExpression("ListAccessKeysResult", 2)) { response.ListAccessKeysResult = ListAccessKeysResultUnmarshaller.GetInstance().Unmarshall(context); continue; } if (context.TestExpression("ResponseMetadata", 2)) { response.ResponseMetadata = ResponseMetadataUnmarshaller.GetInstance().Unmarshall(context); } } } return(response); }