Beispiel #1
0
        public async Task PutGroupPolicyAsyncTest()
        {
            var mockIAMClient = new Mock <AmazonIdentityManagementServiceClient>();

            mockIAMClient.Setup(client => client.PutGroupPolicyAsync(
                                    It.IsAny <PutGroupPolicyRequest>(),
                                    It.IsAny <CancellationToken>()
                                    )).Callback <PutGroupPolicyRequest, CancellationToken>((request, token) =>
            {
                if (!string.IsNullOrEmpty(request.GroupName))
                {
                    Assert.Equal(request.GroupName, GroupName);
                }
            }).Returns((PutGroupPolicyRequest r, CancellationToken token) =>
            {
                return(Task.FromResult(new PutGroupPolicyResponse()
                {
                    HttpStatusCode = System.Net.HttpStatusCode.OK,
                }));
            });

            var client  = mockIAMClient.Object;
            var request = new PutGroupPolicyRequest
            {
                GroupName      = GroupName,
                PolicyName     = PolicyName,
                PolicyDocument = S3ReadOnlyPolicy,
            };

            var response = await client.PutGroupPolicyAsync(request);

            var ok = response.HttpStatusCode == System.Net.HttpStatusCode.OK;

            Assert.True(ok, "Failed to add group policy.");
        }
        /// <summary>
        /// This method adds Amazon S3 readonly permissions to the group
        /// created earlier.
        /// </summary>
        /// <param name="client">The IAM client object.</param>
        /// <param name="group">The name of the group to create.</param>
        /// <returns>Returns a boolean value that indicates the success of the
        /// PutGroupPolicyAsync call.</returns>
        public static async Task <bool> AddGroupPermissionsAsync(AmazonIdentityManagementServiceClient client, Group group)
        {
            // Add appropriate permissions so the new user can access S3 on
            // a readonly basis.
            var groupPolicyRequest = new PutGroupPolicyRequest
            {
                GroupName      = group.GroupName,
                PolicyName     = PolicyName,
                PolicyDocument = S3FullAccessPolicy,
            };

            Console.WriteLine("--------------------------------------------------------------------------------------------------------------");
            var response = await client.PutGroupPolicyAsync(groupPolicyRequest);

            Console.WriteLine($"Successfully added S3 full access access policy to {group.GroupName}.");

            return(response.HttpStatusCode == System.Net.HttpStatusCode.OK);
        }
 public Task <PutGroupPolicyResponse> PutGroupPolicyAsync(PutGroupPolicyRequest request, CancellationToken cancellationToken = new CancellationToken())
 {
     throw new System.NotImplementedException();
 }