示例#1
0
        internal virtual PutPublicAccessBlockResponse PutPublicAccessBlock(PutPublicAccessBlockRequest request)
        {
            var marshaller   = PutPublicAccessBlockRequestMarshaller.Instance;
            var unmarshaller = PutPublicAccessBlockResponseUnmarshaller.Instance;

            return(Invoke <PutPublicAccessBlockRequest, PutPublicAccessBlockResponse>(request, marshaller, unmarshaller));
        }
示例#2
0
        /// <summary>
        /// Initiates the asynchronous execution of the PutPublicAccessBlock operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the PutPublicAccessBlock operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        public virtual Task <PutPublicAccessBlockResponse> PutPublicAccessBlockAsync(PutPublicAccessBlockRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = PutPublicAccessBlockRequestMarshaller.Instance;
            var unmarshaller = PutPublicAccessBlockResponseUnmarshaller.Instance;

            return(InvokeAsync <PutPublicAccessBlockRequest, PutPublicAccessBlockResponse>(request, marshaller,
                                                                                           unmarshaller, cancellationToken));
        }
示例#3
0
        /// <summary>
        /// Initiates the asynchronous execution of the PutPublicAccessBlock operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the PutPublicAccessBlock operation on AmazonS3ControlClient.</param>
        /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param>
        /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.</param>
        ///
        /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutPublicAccessBlock
        ///         operation.</returns>
        public virtual IAsyncResult BeginPutPublicAccessBlock(PutPublicAccessBlockRequest request, AsyncCallback callback, object state)
        {
            var marshaller   = PutPublicAccessBlockRequestMarshaller.Instance;
            var unmarshaller = PutPublicAccessBlockResponseUnmarshaller.Instance;

            return(BeginInvoke <PutPublicAccessBlockRequest>(request, marshaller, unmarshaller,
                                                             callback, state));
        }
        /// <summary>
        /// Initiates the asynchronous execution of the PutPublicAccessBlock operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the PutPublicAccessBlock operation on AmazonS3ControlClient.</param>
        /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param>
        /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.</param>
        ///
        /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndPutPublicAccessBlock
        ///         operation.</returns>
        public virtual IAsyncResult BeginPutPublicAccessBlock(PutPublicAccessBlockRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = PutPublicAccessBlockRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutPublicAccessBlockResponseUnmarshaller.Instance;

            return(BeginInvoke(request, options, callback, state));
        }
        /// <summary>
        /// Creates or modifies the Public Access Block configuration for an Amazon Web Services
        /// account.
        /// </summary>
        /// <param name="request">Container for the necessary parameters to execute the PutPublicAccessBlock service method.</param>
        ///
        /// <returns>The response from the PutPublicAccessBlock service method, as returned by S3Control.</returns>
        public virtual PutPublicAccessBlockResponse PutPublicAccessBlock(PutPublicAccessBlockRequest request)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = PutPublicAccessBlockRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutPublicAccessBlockResponseUnmarshaller.Instance;

            return(Invoke <PutPublicAccessBlockResponse>(request, options));
        }
示例#6
0
        /// <summary>
        /// Creates or modifies the <code>PublicAccessBlock</code> configuration for an Amazon
        /// Web Services account.
        /// </summary>
        /// <param name="request">Container for the necessary parameters to execute the PutPublicAccessBlock service method.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        ///
        /// <returns>The response from the PutPublicAccessBlock service method, as returned by S3Control.</returns>
        public virtual Task <PutPublicAccessBlockResponse> PutPublicAccessBlockAsync(PutPublicAccessBlockRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = PutPublicAccessBlockRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutPublicAccessBlockResponseUnmarshaller.Instance;

            return(InvokeAsync <PutPublicAccessBlockResponse>(request, options, cancellationToken));
        }
示例#7
0
        /// <summary>
        /// Method creates new bucket in S3
        /// </summary>
        /// <param name="bucketName">Name of the bucket</param>
        /// <param name="disablePublicAccess">Set to true if you want to disable public access to your bucket, set to false if you want to enable public access to your bucket</param>
        public void CreateBucket(string bucketName, bool disablePublicAccess = true)
        {
            if (string.IsNullOrEmpty(bucketName))
            {
                throw new ArgumentNullException(nameof(bucketName));
            }

            PutBucketRequest s3PutBucketRequest = new PutBucketRequest();

            s3PutBucketRequest.BucketName      = bucketName;
            s3PutBucketRequest.UseClientRegion = true;

            try
            {
                using (Task <PutBucketResponse> s3PutBucketResponse = _client.PutBucketAsync(s3PutBucketRequest))
                {
                    Console.WriteLine($"HTTP status code : {s3PutBucketResponse.Result.HttpStatusCode}");

                    PublicAccessBlockConfiguration s3PublicAccessBlockConfiguration = new PublicAccessBlockConfiguration();
                    s3PublicAccessBlockConfiguration.BlockPublicAcls       = true;
                    s3PublicAccessBlockConfiguration.BlockPublicPolicy     = true;
                    s3PublicAccessBlockConfiguration.IgnorePublicAcls      = true;
                    s3PublicAccessBlockConfiguration.RestrictPublicBuckets = true;

                    PutPublicAccessBlockRequest s3PublicAccessBlockRequest = new PutPublicAccessBlockRequest();
                    s3PublicAccessBlockRequest.BucketName = bucketName;
                    s3PublicAccessBlockRequest.PublicAccessBlockConfiguration = s3PublicAccessBlockConfiguration;


                    using (Task <PutPublicAccessBlockResponse> s3PutPublicAccessBlockResponse = _client.PutPublicAccessBlockAsync(s3PublicAccessBlockRequest))
                    {
                        Console.WriteLine($"HTTP status code : {s3PutPublicAccessBlockResponse.Result.HttpStatusCode}");
                    }
                }
            }
            catch (System.AggregateException ex)
            {
                if (ex.InnerException != null)
                {
                    Console.WriteLine($"Message: {ex.InnerException.Message}");
                }
            }
        }
示例#8
0
        private PutPublicAccessBlockResponse Call_PutPublicAccessBlock(IAmazonS3 client, string bucketName, bool blockPublicAcls = true,
                                                                       bool blockPublicPolicy = true, bool ignorePublicAcls = true, bool restrictPublicBucket = true)
        {
            PutPublicAccessBlockRequest putRequest = new PutPublicAccessBlockRequest
            {
                BucketName = bucketName,
                PublicAccessBlockConfiguration = new PublicAccessBlockConfiguration
                {
                    BlockPublicAcls       = true,
                    BlockPublicPolicy     = true,
                    IgnorePublicAcls      = true,
                    RestrictPublicBuckets = true
                }
            };

            var putResponse = client.PutPublicAccessBlock(putRequest);

            Assert.AreEqual(true, putResponse.HttpStatusCode == HttpStatusCode.OK);

            return(putResponse);
        }
示例#9
0
        public void TestGetPublicAccessBlock()
        {
            string[] testProperties =
            {
                nameof(PublicAccessBlockConfiguration.BlockPublicAcls),
                nameof(PublicAccessBlockConfiguration.BlockPublicPolicy),
                nameof(PublicAccessBlockConfiguration.IgnorePublicAcls),
                nameof(PublicAccessBlockConfiguration.RestrictPublicBuckets)
            };

            //Set each property in PublicAccessBlockConfiguration, do the put, then do the get to test that the value was set.
            foreach (string propertyName in testProperties)
            {
                var putRequest = new PutPublicAccessBlockRequest
                {
                    BucketName = bucketName,
                    PublicAccessBlockConfiguration = new PublicAccessBlockConfiguration
                    {
                        BlockPublicAcls       = false,
                        BlockPublicPolicy     = false,
                        IgnorePublicAcls      = false,
                        RestrictPublicBuckets = false
                    }
                };

                System.Reflection.PropertyInfo property = putRequest.PublicAccessBlockConfiguration.GetType().GetProperty(propertyName);
                property.SetValue(putRequest.PublicAccessBlockConfiguration, true);

                var putResponse = s3Client.PutPublicAccessBlock(putRequest);
                Assert.AreEqual(true, putResponse.HttpStatusCode == HttpStatusCode.OK);

                var getResponse = Call_GetPublicAccessBlock(s3Client, bucketName);
                Assert.AreEqual(putRequest.PublicAccessBlockConfiguration.BlockPublicAcls, getResponse.PublicAccessBlockConfiguration.BlockPublicAcls);
                Assert.AreEqual(putRequest.PublicAccessBlockConfiguration.BlockPublicPolicy, getResponse.PublicAccessBlockConfiguration.BlockPublicPolicy);
                Assert.AreEqual(putRequest.PublicAccessBlockConfiguration.IgnorePublicAcls, getResponse.PublicAccessBlockConfiguration.IgnorePublicAcls);
                Assert.AreEqual(putRequest.PublicAccessBlockConfiguration.RestrictPublicBuckets, getResponse.PublicAccessBlockConfiguration.RestrictPublicBuckets);
            }
        }
 public Task <PutPublicAccessBlockResponse> PutPublicAccessBlockAsync(PutPublicAccessBlockRequest request, CancellationToken cancellationToken = default)
 {
     throw new NotImplementedException();
 }