예제 #1
0
        public static void Cleanup()
        {
            var deleteRequest = new DeleteMultiRegionAccessPointRequest
            {
                AccountId = _accountId,
                Details   = new DeleteMultiRegionAccessPointInput {
                    Name = _mrapName
                }
            };

            S3TestUtils.DeleteMRAPWithWait(new AmazonS3ControlClient(RegionEndpoint.USWest2), deleteRequest);
            AmazonS3Util.DeleteS3BucketWithObjects(Client, _bucketName);
        }
예제 #2
0
        /// <summary>
        /// Deletes an S3 Multi-Region Access Point and waits for the delete to succeed
        /// </summary>
        /// <param name="s3ControlClient">S3Control client to delete the MRAP with</param>
        /// <param name="deleteRequest">Prepared DeleteMultiRegionAccessPoint request</param>
        public static void DeleteMRAPWithWait(IAmazonS3Control s3ControlClient, DeleteMultiRegionAccessPointRequest deleteRequest)
        {
            var asyncRequestArn = s3ControlClient.DeleteMultiRegionAccessPoint(deleteRequest).RequestTokenARN;

            UtilityMethods.WaitUntilSuccess(() =>
            {
                var request = new DescribeMultiRegionAccessPointOperationRequest
                {
                    AccountId       = deleteRequest.AccountId,
                    RequestTokenARN = asyncRequestArn
                };

                var response = s3ControlClient.DescribeMultiRegionAccessPointOperation(request);

                if (response.AsyncOperation.RequestStatus == "SUCCEEDED")
                {
                    return;
                }
                else
                {
                    throw new Exception("S3 Multi-Region Access Point not deleted yet, will continue waiting.");
                }
            });
        }