コード例 #1
0
        /// <summary>
        /// Deletes the User, Group, and AccessKey which were created for the purposes of
        /// this example.
        /// </summary>
        /// <param name="client">The IAM client used to delete the other
        /// resources.</param>
        /// <param name="userName">The name of the user that will be deleted.</param>
        /// <param name="groupName">The name of the group that will be deleted.</param>
        /// <param name="accessKeyId">The AccessKeyId that represents the
        /// AccessKey that was created for use with the ListBucketsAsync
        /// method.</param>
        public static async Task CleanUpResources(AmazonIdentityManagementServiceClient client, string userName, string groupName, string accessKeyId)
        {
            // Remove the user from the group.
            var removeUserRequest = new RemoveUserFromGroupRequest()
            {
                UserName  = userName,
                GroupName = groupName,
            };

            await client.RemoveUserFromGroupAsync(removeUserRequest);

            // Delete the client access keys before deleting the user.
            var deleteAccessKeyRequest = new DeleteAccessKeyRequest()
            {
                AccessKeyId = accessKeyId,
                UserName    = userName,
            };

            await client.DeleteAccessKeyAsync(deleteAccessKeyRequest);

            // Now we can safely delete the user.
            var deleteUserRequest = new DeleteUserRequest()
            {
                UserName = userName,
            };

            await client.DeleteUserAsync(deleteUserRequest);

            // We have to delete the policy attached to the group first.
            var deleteGroupPolicyRequest = new DeleteGroupPolicyRequest()
            {
                GroupName  = groupName,
                PolicyName = PolicyName,
            };

            await client.DeleteGroupPolicyAsync(deleteGroupPolicyRequest);

            // Now delete the group.
            var deleteGroupRequest = new DeleteGroupRequest()
            {
                GroupName = groupName,
            };

            await client.DeleteGroupAsync(deleteGroupRequest);

            Console.WriteLine("\n--------------------------------------------------------------------------------------------------------------");
            Console.WriteLine("Deleted the user and group created for this example.");
        }
コード例 #2
0
ファイル: Util.cs プロジェクト: philasmar/aws-sdk-net
        public static void DeleteUsersAndGroupsInTestNameSpace(string testPrefix)
        {
            AmazonIdentityManagementServiceClient client = UtilityMethods.CreateClient <AmazonIdentityManagementServiceClient>();
            var prefix = MakePath(testPrefix);
            ListGroupsResponse lgRes = client.ListGroupsAsync(new ListGroupsRequest()
            {
                PathPrefix = prefix
            }).Result;

            foreach (Group g in lgRes.Groups)
            {
                GetGroupResponse ggRes = client.GetGroupAsync(new GetGroupRequest()
                {
                    GroupName = g.GroupName
                }).Result;
                foreach (User u in ggRes.Users)
                {
                    client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                    {
                        GroupName = g.GroupName, UserName = u.UserName
                    }).Wait();
                }
                client.DeleteGroupAsync(new DeleteGroupRequest()
                {
                    GroupName = g.GroupName
                }).Wait();
            }

            ListUsersResponse luRes = client.ListUsersAsync(new ListUsersRequest()
            {
                PathPrefix = prefix
            }).Result;

            foreach (User u in luRes.Users)
            {
                DeleteTestUsers(client, u.UserName);
            }
        }
コード例 #3
0
ファイル: Util.cs プロジェクト: eangelov/aws-sdk-net-1
        public static void DeleteUsersAndGroupsInTestNameSpace(AmazonIdentityManagementServiceClient client)
        {
            ListGroupsResponse lgRes = client.ListGroupsAsync(new ListGroupsRequest()
            {
                PathPrefix = TEST_PATH
            }).Result;

            foreach (Group g in lgRes.Groups)
            {
                GetGroupResponse ggRes = client.GetGroupAsync(new GetGroupRequest()
                {
                    GroupName = g.GroupName
                }).Result;
                foreach (User u in ggRes.Users)
                {
                    client.RemoveUserFromGroupAsync(new RemoveUserFromGroupRequest()
                    {
                        GroupName = g.GroupName, UserName = u.UserName
                    }).Wait();
                }
                client.DeleteGroupAsync(new DeleteGroupRequest()
                {
                    GroupName = g.GroupName
                }).Wait();
            }

            ListUsersResponse luRes = client.ListUsersAsync(new ListUsersRequest()
            {
                PathPrefix = TEST_PATH
            }).Result;

            foreach (User u in luRes.Users)
            {
                DeleteTestUsers(client, u.UserName);
            }
        }