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);
        }
Esempio n. 3
0
        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());
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 6
0
 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);
     }
 }
Esempio n. 7
0
        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();
            }
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 9
0
        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;
        }
Esempio n. 11
0
        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);
            }
        }
Esempio n. 12
0
        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);
        }