diff --git a/generator/ServiceClientGeneratorLib/ServiceModel.cs b/generator/ServiceClientGeneratorLib/ServiceModel.cs index 5d0a63188b3b..a8aad008a0fd 100644 --- a/generator/ServiceClientGeneratorLib/ServiceModel.cs +++ b/generator/ServiceClientGeneratorLib/ServiceModel.cs @@ -574,8 +574,11 @@ public List S3AllowListOperations new Operation(this, "DeleteBucketInventoryConfiguration", DocumentRoot[OperationsKey]["DeleteBucketInventoryConfiguration"]), new Operation(this,"PutBucketRequestPayment", DocumentRoot[OperationsKey]["PutBucketRequestPayment"]), new Operation(this, "CreateBucketMetadataConfiguration",DocumentRoot[OperationsKey]["CreateBucketMetadataConfiguration"]), - new Operation(this, "GetBucketMetadataConfiguration", DocumentRoot[OperationsKey]["GetBucketMetadataConfiguration"]) - + new Operation(this, "GetBucketMetadataConfiguration", DocumentRoot[OperationsKey]["GetBucketMetadataConfiguration"]), + new Operation(this, "DeleteBucketMetadataConfiguration", DocumentRoot[OperationsKey]["DeleteBucketMetadataConfiguration"]), + new Operation(this, "ListObjects", DocumentRoot[OperationsKey]["ListObjects"]), + new Operation(this,"UpdateBucketMetadataJournalTableConfiguration", DocumentRoot[OperationsKey]["UpdateBucketMetadataJournalTableConfiguration"]), + new Operation(this, "ListMultipartUploads", DocumentRoot[OperationsKey]["ListMultipartUploads"]) }; } return _s3AllowListOperations.Where(operation => operation.data != null).ToList(); @@ -606,7 +609,8 @@ public List S3RequestMarshallerThrowGenericExceptionList "GetObjectAcl", "PutBucketAcl", "CreateBucketMetadataConfiguration", - "GetBucketMetadataConfiguration" + "GetBucketMetadataConfiguration", + "DeleteBucketMetadataConfiguration" }; } return _s3RequestMarshallerThrowAmazonS3ExceptionList; diff --git a/generator/ServiceModels/s3/s3.customizations.json b/generator/ServiceModels/s3/s3.customizations.json index b241f9a605a7..a580acd535bb 100644 --- a/generator/ServiceModels/s3/s3.customizations.json +++ b/generator/ServiceModels/s3/s3.customizations.json @@ -1215,6 +1215,80 @@ }, { "ExpectedBucketOwner":{"injectXmlIsSet":["return !String.IsNullOrEmpty(this._expectedBucketOwner);"]} + } + ] + }, + "DeleteBucketMetadataConfigurationRequest":{ + "modify":[ + { + "ExpectedBucketOwner":{"injectXmlIsSet":["return !String.IsNullOrEmpty(this._expectedBucketOwner);"]} + } + ] + }, + "ListObjectsRequest":{ + "modify":[ + { + "EncodingType":{"emitPropertyName":"Encoding"} + }, + { + "ExpectedBucketOwner":{"injectXmlIsSet":["return !String.IsNullOrEmpty(this._expectedBucketOwner);"]} + } + ] + }, + "ListObjectsOutput":{ + "modify":[ + { + "Contents":{ + "emitPropertyName":"S3Objects" + } + }, + { + "S3Objects":{ + "injectXmlUnmarshallCode":["ContentsCustomUnmarshall(context, response);"], + "skipContextTestExpressionUnmarshallingLogic" : true + } + }, + { + "NextMarker":{"injectXmlPropertyGetter":["get { return NextMarkerCustomGetter(); }"]} + }, + { + "EncodingType":{"emitPropertyName":"Encoding"} + } + ] + }, + "UpdateBucketMetadataJournalTableConfigurationRequest":{ + "modify":[ + { + "ContentMD5":{"injectXmlIsSet":["return !String.IsNullOrEmpty(this._contentMD5);"]} + }, + { + "ExpectedBucketOwner":{"injectXmlIsSet":["return !String.IsNullOrEmpty(this._expectedBucketOwner);"]} + } + + ] + }, + "ListMultipartUploadsRequest":{ + "modify":[ + { + "EncodingType":{"emitPropertyName":"Encoding"} + }, + { + "ExpectedBucketOwner":{"injectXmlIsSet":["return !String.IsNullOrEmpty(this._expectedBucketOwner);"]} + } + ] + }, + "ListMultipartUploadsOutput":{ + "modify":[ + { + "CommonPrefixes":{ + "injectXmlUnmarshallCode":["CommonPrefixesCustomUnmarshall(context, response);"], + "skipContextTestExpressionUnmarshallingLogic" : true + } + }, + { + "Uploads":{"emitPropertyName":"MultipartUploads"} + + } ] } @@ -1514,6 +1588,27 @@ "Marshaller": "StringUtils.FromString", "Unmarshaller": "StringUnmarshaller" } + }, + "ListObjectsOutput": { + "CommonPrefixes" : { + "Type": "List", + "Marshaller": "StringUtils.FromString", + "Unmarshaller" : "CommonPrefixesItemUnmarshaller" + } + }, + "ListMultipartUploadsRequest":{ + "CommonPrefixes" : { + "Type": "List", + "Marshaller": "StringUtils.FromString", + "Unmarshaller" : "CommonPrefixesItemUnmarshaller" + } + }, + "ListMultipartUploadsOutput":{ + "CommonPrefixes" : { + "Type": "List", + "Marshaller": "StringUtils.FromString", + "Unmarshaller" : "CommonPrefixesItemUnmarshaller" + } } }, "excludeMembers":{ diff --git a/sdk/src/Services/S3/Custom/Model/DeleteBucketMetadataConfigurationRequest.cs b/sdk/src/Services/S3/Custom/Model/DeleteBucketMetadataConfigurationRequest.cs deleted file mode 100644 index 7402d0709a41..000000000000 --- a/sdk/src/Services/S3/Custom/Model/DeleteBucketMetadataConfigurationRequest.cs +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.Xml.Serialization; -using System.Text; -using System.IO; -using System.Net; - -using Amazon.Runtime; -using Amazon.Runtime.Internal; - -#pragma warning disable CS0612,CS0618,CS1570 -namespace Amazon.S3.Model -{ - /// - /// Container for the parameters to the DeleteBucketMetadataConfiguration operation. - /// - /// - public partial class DeleteBucketMetadataConfigurationRequest : AmazonWebServiceRequest - { - private string bucketName; - private string expectedBucketOwner; - - /// - /// Gets and sets the property BucketName. - /// - public string BucketName - { - get { return this.bucketName; } - set { this.bucketName = value; } - } - - // Check to see if BucketName property is set - internal bool IsSetBucketName() - { - return !String.IsNullOrEmpty(this.bucketName); - } - - /// - /// Gets and sets the property ExpectedBucketOwner. - /// - public string ExpectedBucketOwner - { - get { return this.expectedBucketOwner; } - set { this.expectedBucketOwner = value; } - } - - // Check to see if ExpectedBucketOwner property is set - internal bool IsSetExpectedBucketOwner() - { - return !String.IsNullOrEmpty(this.expectedBucketOwner); - } - - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsRequestMarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsRequestMarshaller.cs deleted file mode 100644 index e832085fd0c1..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsRequestMarshaller.cs +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using Amazon.Runtime.Internal; -using Amazon.Runtime.Internal.Transform; -using Amazon.S3.Util; - -#pragma warning disable 1591 - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - /// - /// List Multipart Uploads Request Marshaller - /// - public class ListMultipartUploadsRequestMarshaller : IMarshaller ,IMarshaller - { - public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input) - { - return this.Marshall((ListMultipartUploadsRequest)input); - } - - public IRequest Marshall(ListMultipartUploadsRequest listMultipartUploadsRequest) - { - IRequest request = new DefaultRequest(listMultipartUploadsRequest, "Amazon.S3"); - - request.HttpMethod = "GET"; - - if (listMultipartUploadsRequest.IsSetExpectedBucketOwner()) - request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(listMultipartUploadsRequest.ExpectedBucketOwner)); - - if (string.IsNullOrEmpty(listMultipartUploadsRequest.BucketName)) - throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "ListMultipartUploadsRequest.BucketName"); - - if (listMultipartUploadsRequest.IsSetRequestPayer()) - request.Headers.Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(listMultipartUploadsRequest.RequestPayer)); - - request.ResourcePath = "/"; - - request.AddSubResource("uploads"); - - if (listMultipartUploadsRequest.IsSetDelimiter()) - request.Parameters.Add("delimiter", S3Transforms.ToStringValue(listMultipartUploadsRequest.Delimiter)); - if (listMultipartUploadsRequest.IsSetKeyMarker()) - request.Parameters.Add("key-marker", S3Transforms.ToStringValue(listMultipartUploadsRequest.KeyMarker)); - if (listMultipartUploadsRequest.IsSetMaxUploads()) - request.Parameters.Add("max-uploads", S3Transforms.ToStringValue(listMultipartUploadsRequest.MaxUploads.Value)); - if (listMultipartUploadsRequest.IsSetPrefix()) - request.Parameters.Add("prefix", S3Transforms.ToStringValue(listMultipartUploadsRequest.Prefix)); - if (listMultipartUploadsRequest.IsSetUploadIdMarker()) - request.Parameters.Add("upload-id-marker", S3Transforms.ToStringValue(listMultipartUploadsRequest.UploadIdMarker)); - if (listMultipartUploadsRequest.IsSetEncoding()) - request.Parameters.Add("encoding-type", S3Transforms.ToStringValue(listMultipartUploadsRequest.Encoding)); - - request.UseQueryString = true; - - return request; - } - - private static ListMultipartUploadsRequestMarshaller _instance; - - /// - /// Singleton for marshaller - /// - public static ListMultipartUploadsRequestMarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new ListMultipartUploadsRequestMarshaller(); - } - return _instance; - } - } - } -} - diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs index d879359dddb3..e51b4fe93d15 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs +++ b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs @@ -26,150 +26,21 @@ namespace Amazon.S3.Model.Internal.MarshallTransformations /// /// Response Unmarshaller for ListMultipartUploads operation /// - public class ListMultipartUploadsResponseUnmarshaller : S3ReponseUnmarshaller - { - /// - /// Unmarshaller the response from the service to the response class. - /// - /// - /// - public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) - { - ListMultipartUploadsResponse response = new ListMultipartUploadsResponse(); - - while (context.Read()) - { - if (context.IsStartElement) - { - UnmarshallResult(context,response); - continue; - } - } - - IWebResponseData responseData = context.ResponseData; - if (responseData.IsHeaderPresent(S3Constants.AmzHeaderRequestCharged)) - response.RequestCharged = RequestCharged.FindValue(responseData.GetHeaderValue(S3Constants.AmzHeaderRequestCharged)); - - return response; - } - - private static void UnmarshallResult(XmlUnmarshallerContext context,ListMultipartUploadsResponse response) + public partial class ListMultipartUploadsResponseUnmarshaller : S3ReponseUnmarshaller + { + private static void CommonPrefixesCustomUnmarshall(XmlUnmarshallerContext context, ListMultipartUploadsResponse 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("Bucket", targetDepth)) - { - response.BucketName = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("KeyMarker", targetDepth)) - { - response.KeyMarker = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("UploadIdMarker", targetDepth)) - { - response.UploadIdMarker = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("NextKeyMarker", targetDepth)) - { - response.NextKeyMarker = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("NextUploadIdMarker", targetDepth)) - { - response.NextUploadIdMarker = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("MaxUploads", targetDepth)) - { - response.MaxUploads = IntUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("IsTruncated", targetDepth)) - { - response.IsTruncated = BoolUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("Upload", targetDepth)) - { - if (response.MultipartUploads == null) - { - response.MultipartUploads = new List(); - } - - response.MultipartUploads.Add(MultipartUploadUnmarshaller.Instance.Unmarshall(context)); - continue; - } - if (context.TestExpression("Delimiter", targetDepth)) - { - response.Delimiter = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("Prefix", targetDepth)) - { - response.Prefix = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("CommonPrefixes", targetDepth)) - { - var prefix = CommonPrefixesItemUnmarshaller.Instance.Unmarshall(context); - - if (prefix != null) - { - if (response.CommonPrefixes == null) - { - response.CommonPrefixes = new List(); - } - response.CommonPrefixes.Add(prefix); - } + var prefix = CommonPrefixesItemUnmarshaller.Instance.Unmarshall(context); - continue; - } - } - else if (context.IsEndElement && context.CurrentDepth < originalDepth) - { - return; - } - } - - return; - } - - private static ListMultipartUploadsResponseUnmarshaller _instance; - - /// - /// Singleton for the unmarshaller - /// - public static ListMultipartUploadsResponseUnmarshaller Instance - { - get + if (prefix != null) { - if (_instance == null) + if (response.CommonPrefixes == null) { - _instance = new ListMultipartUploadsResponseUnmarshaller(); + response.CommonPrefixes = new List(); } - return _instance; + response.CommonPrefixes.Add(prefix); } + return; } } } diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsRequestMarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsRequestMarshaller.cs deleted file mode 100644 index f7e3802f076d..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsRequestMarshaller.cs +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using Amazon.S3.Util; -using Amazon.Runtime.Internal; -using Amazon.Runtime.Internal.Transform; -using Amazon.Util; - -#pragma warning disable 1591 - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - /// - /// List Objects Request Marshaller - /// - public class ListObjectsRequestMarshaller : IMarshaller ,IMarshaller - { - public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input) - { - return this.Marshall((ListObjectsRequest)input); - } - - public IRequest Marshall(ListObjectsRequest listObjectsRequest) - { - IRequest request = new DefaultRequest(listObjectsRequest, "Amazon.S3"); - - request.HttpMethod = "GET"; - - if (listObjectsRequest.IsSetRequestPayer()) - request.Headers.Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(listObjectsRequest.RequestPayer.ToString())); - - if (listObjectsRequest.IsSetExpectedBucketOwner()) - request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(listObjectsRequest.ExpectedBucketOwner)); - - if (listObjectsRequest.IsSetOptionalObjectAttributes()) - request.Headers.Add(S3Constants.AmzOptionalObjectAttributes, AWSSDKUtils.Join(listObjectsRequest.OptionalObjectAttributes)); - - if (string.IsNullOrEmpty(listObjectsRequest.BucketName)) - throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "ListObjectsRequest.BucketName"); - - request.ResourcePath = "/"; - - if (listObjectsRequest.IsSetDelimiter()) - request.Parameters.Add("delimiter", S3Transforms.ToStringValue(listObjectsRequest.Delimiter)); - if (listObjectsRequest.IsSetMarker()) - request.Parameters.Add("marker", S3Transforms.ToStringValue(listObjectsRequest.Marker)); - if (listObjectsRequest.IsSetMaxKeys()) - request.Parameters.Add("max-keys", S3Transforms.ToStringValue(listObjectsRequest.MaxKeys.Value)); - if (listObjectsRequest.IsSetPrefix()) - request.Parameters.Add("prefix", S3Transforms.ToStringValue(listObjectsRequest.Prefix)); - if (listObjectsRequest.IsSetEncoding()) - request.Parameters.Add("encoding-type", S3Transforms.ToStringValue(listObjectsRequest.Encoding)); - - request.UseQueryString = true; - - return request; - } - - private static ListObjectsRequestMarshaller _instance; - - /// - /// Singleton for marshaller - /// - public static ListObjectsRequestMarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new ListObjectsRequestMarshaller(); - } - return _instance; - } - } - } -} - diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs index d0b9f1faa9ae..3391a86848e5 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs +++ b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs @@ -12,152 +12,34 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ -using System; -using System.Net; -using System.Collections.Generic; -using Amazon.S3.Model; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Transform; +using Amazon.S3.Model; using Amazon.S3.Util; +using System; +using System.Collections.Generic; +using System.Net; namespace Amazon.S3.Model.Internal.MarshallTransformations { /// /// Response Unmarshaller for ListObjects operation /// - public class ListObjectsResponseUnmarshaller : S3ReponseUnmarshaller + public partial class ListObjectsResponseUnmarshaller : S3ReponseUnmarshaller { - /// - /// Unmarshaller the response from the service to the response class. - /// - /// - /// - public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) - { - ListObjectsResponse response = new ListObjectsResponse(); - - while (context.Read()) - { - if (context.IsStartElement) - { - UnmarshallResult(context,response); - continue; - } - } - - IWebResponseData responseData = context.ResponseData; - if (responseData.IsHeaderPresent(S3Constants.AmzHeaderRequestCharged)) - response.RequestCharged = RequestCharged.FindValue(responseData.GetHeaderValue(S3Constants.AmzHeaderRequestCharged)); - - return response; - } - - private static void UnmarshallResult(XmlUnmarshallerContext context,ListObjectsResponse response) + private static void ContentsCustomUnmarshall(XmlUnmarshallerContext context, ListObjectsResponse response) { - - int originalDepth = context.CurrentDepth; - int targetDepth = originalDepth + 1; - - if (context.IsStartOfDocument) - targetDepth += 2; - - while (context.Read()) + if (response.S3Objects == null) { - if (context.IsStartElement || context.IsAttribute) - { - if (context.TestExpression("IsTruncated", targetDepth)) - { - response.IsTruncated = BoolUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("NextMarker", targetDepth)) - { - response.NextMarker = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("Contents", targetDepth)) - { - if (response.S3Objects == null) - { - response.S3Objects = new List(); - } - - // adding the bucket name into the S3Object instance enables - // a better pipelining experience in PowerShell - var s3Object = ContentsItemUnmarshaller.Instance.Unmarshall(context); - s3Object.BucketName = response.Name; - response.S3Objects.Add(s3Object); - continue; - } - if (context.TestExpression("Name", targetDepth)) - { - response.Name = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("Prefix", targetDepth)) - { - response.Prefix = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("Delimiter", targetDepth)) - { - response.Delimiter = StringUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("MaxKeys", targetDepth)) - { - response.MaxKeys = IntUnmarshaller.GetInstance().Unmarshall(context); - - continue; - } - if (context.TestExpression("CommonPrefixes", targetDepth)) - { - var prefix = CommonPrefixesItemUnmarshaller.Instance.Unmarshall(context); - - if(prefix != null) - { - if (response.CommonPrefixes == null) - { - response.CommonPrefixes = new List(); - } - response.CommonPrefixes.Add(prefix); - } - - continue; - } - } - else if (context.IsEndElement && context.CurrentDepth < originalDepth) - { - return; - } + response.S3Objects = new List(); } - - - return; - } - - private static ListObjectsResponseUnmarshaller _instance; - - /// - /// Singleton for the unmarshaller - /// - public static ListObjectsResponseUnmarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new ListObjectsResponseUnmarshaller(); - } - return _instance; - } + // adding the bucket name into the S3Object instance enables + // a better pipelining experience in PowerShell + var s3Object = ContentsItemUnmarshaller.Instance.Unmarshall(context); + s3Object.BucketName = response.Name; + response.S3Objects.Add(s3Object); } } } diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationRequestMarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationRequestMarshaller.cs deleted file mode 100644 index 2963826dcb86..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationRequestMarshaller.cs +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -using Amazon.Runtime; -using Amazon.Runtime.Internal; -using Amazon.Runtime.Internal.Transform; -using Amazon.Runtime.Internal.Util; -using Amazon.S3.Util; -using Amazon.Util; -using System.Text; -using System.Xml; - -#pragma warning disable 1591 - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - public class UpdateBucketMetadataJournalTableConfigurationRequestMarshaller : IMarshaller, IMarshaller - { - public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input) - { - return this.Marshall((UpdateBucketMetadataJournalTableConfigurationRequest)input); - } - - public IRequest Marshall(UpdateBucketMetadataJournalTableConfigurationRequest updateBucketMetadataJournalTableConfigurationRequest) - { - IRequest request = new DefaultRequest(updateBucketMetadataJournalTableConfigurationRequest, "Amazon.S3"); - - request.HttpMethod = "PUT"; - - if (updateBucketMetadataJournalTableConfigurationRequest.IsSetChecksumAlgorithm()) - request.Headers.Add(S3Constants.AmzHeaderSdkChecksumAlgorithm, S3Transforms.ToStringValue(updateBucketMetadataJournalTableConfigurationRequest.ChecksumAlgorithm)); - - if (updateBucketMetadataJournalTableConfigurationRequest.IsSetExpectedBucketOwner()) - request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(updateBucketMetadataJournalTableConfigurationRequest.ExpectedBucketOwner)); - - if (updateBucketMetadataJournalTableConfigurationRequest.IsSetContentMD5()) - request.Headers.Add(HeaderKeys.ContentMD5Header, S3Transforms.ToStringValue(updateBucketMetadataJournalTableConfigurationRequest.ContentMD5)); - - if (string.IsNullOrEmpty(updateBucketMetadataJournalTableConfigurationRequest.BucketName)) - throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "UpdateBucketMetadataJournalTableConfigurationRequest.BucketName"); - - request.ResourcePath = "/"; - - request.AddSubResource("metadataJournalTable"); - - var stringWriter = new XMLEncodedStringWriter(System.Globalization.CultureInfo.InvariantCulture); - using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize })) - { - var journalTableConfiguration = updateBucketMetadataJournalTableConfigurationRequest.JournalTableConfiguration; - if (journalTableConfiguration != null) - { - xmlWriter.WriteStartElement("JournalTableConfiguration", S3Constants.S3RequestXmlNamespace); - - if (journalTableConfiguration.IsSetConfigurationState()) - { - xmlWriter.WriteElementString("ConfigurationState", S3Transforms.ToXmlStringValue(journalTableConfiguration.ConfigurationState)); - } - - if (journalTableConfiguration.IsSetEncryptionConfiguration()) - { - xmlWriter.WriteStartElement("EncryptionConfiguration"); - if (journalTableConfiguration.EncryptionConfiguration.IsSetKmsKeyArn()) - { - xmlWriter.WriteElementString("KmsKeyArn", journalTableConfiguration.EncryptionConfiguration.KmsKeyArn); - } - if (journalTableConfiguration.EncryptionConfiguration.IsSetSseAlgorithm()) - { - xmlWriter.WriteElementString("SseAlgorithm", journalTableConfiguration.EncryptionConfiguration.SseAlgorithm); - } - xmlWriter.WriteEndElement(); - } - - xmlWriter.WriteEndElement(); - } - } - - try - { - var content = stringWriter.ToString(); - request.Content = Encoding.UTF8.GetBytes(content); - request.Headers[HeaderKeys.ContentTypeHeader] = "application/xml"; - - ChecksumUtils.SetChecksumData( - request, - updateBucketMetadataJournalTableConfigurationRequest.ChecksumAlgorithm, - fallbackToMD5: false, - isRequestChecksumRequired: true, - headerName: "x-amz-sdk-checksum-algorithm" - ); - } - catch (EncoderFallbackException e) - { - throw new AmazonServiceException("Unable to marshall request to XML", e); - } - - return request; - } - - private static UpdateBucketMetadataJournalTableConfigurationRequestMarshaller _instance; - - /// - /// Singleton for marshaller - /// - public static UpdateBucketMetadataJournalTableConfigurationRequestMarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new UpdateBucketMetadataJournalTableConfigurationRequestMarshaller(); - } - return _instance; - } - } - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller.cs deleted file mode 100644 index e11d03cb75ab..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -using System; -using System.Net; -using Amazon.Runtime; -using Amazon.Runtime.Internal.Transform; - -#pragma warning disable 1591 - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - public class UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller : S3ReponseUnmarshaller - { - private static UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller _instance; - - /// - /// Singleton for the unmarshaller - /// - public static UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller(); - } - return _instance; - } - } - - public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) - { - UpdateBucketMetadataJournalTableConfigurationResponse response = new UpdateBucketMetadataJournalTableConfigurationResponse(); - - return response; - } - - public override AmazonServiceException UnmarshallException(XmlUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode) - { - var errorResponse = S3ErrorResponseUnmarshaller.Instance.Unmarshall(context); - errorResponse.InnerException = innerException; - errorResponse.StatusCode = statusCode; - - var errorCode = errorResponse.Code; - if (errorCode != null && errorCode.Equals("NoSuchBucket")) - { - return new NoSuchBucketException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode); - } - return new AmazonS3Exception(errorResponse.Message, innerException, errorResponse.Type, errorCode, errorResponse.RequestId, statusCode); - } - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/JournalTableConfigurationUpdates.cs b/sdk/src/Services/S3/Custom/Model/JournalTableConfigurationUpdates.cs deleted file mode 100644 index 2246954fa4b1..000000000000 --- a/sdk/src/Services/S3/Custom/Model/JournalTableConfigurationUpdates.cs +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -using System; - -namespace Amazon.S3.Model -{ - /// - /// The journal table configuration updates. - /// - public partial class JournalTableConfigurationUpdates - { - private JournalConfigurationState configurationState; - private MetadataTableEncryptionConfiguration encryptionConfiguration; - - /// - /// - /// The state of the journal table configuration. - /// - /// - public JournalConfigurationState ConfigurationState - { - get { return this.configurationState; } - set { this.configurationState = value; } - } - - internal bool IsSetConfigurationState() - { - return this.configurationState != null; - } - - /// - /// - /// The encryption configuration for the journal table. - /// - /// - public MetadataTableEncryptionConfiguration EncryptionConfiguration - { - get { return this.encryptionConfiguration; } - set { this.encryptionConfiguration = value; } - } - - internal bool IsSetEncryptionConfiguration() - { - return this.encryptionConfiguration != null; - } - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/ListObjectsResponse.cs b/sdk/src/Services/S3/Custom/Model/ListObjectsResponse.cs index 702764d5f260..74f30425806d 100644 --- a/sdk/src/Services/S3/Custom/Model/ListObjectsResponse.cs +++ b/sdk/src/Services/S3/Custom/Model/ListObjectsResponse.cs @@ -24,178 +24,23 @@ namespace Amazon.S3.Model /// /// Returns information about the ListObjects response and response metadata. /// - public class ListObjectsResponse : AmazonWebServiceResponse + public partial class ListObjectsResponse : AmazonWebServiceResponse { - private bool? isTruncated; - private string nextMarker; - private List contents = AWSConfigs.InitializeCollections ? new List() : null; - private string name; - private string prefix; - private int? maxKeys; - private List commonPrefixes = AWSConfigs.InitializeCollections ? new List() : null; - private string delimiter; - private RequestCharged _requestCharged; - - /// - /// A flag that indicates whether or not Amazon S3 returned all of the results that satisfied - /// the search criteria. - /// - public bool? IsTruncated - { - get { return this.isTruncated; } - set { this.isTruncated = value; } - } - - // Check to see if IsTruncated property is set - internal bool IsSetIsTruncated() - { - return this.isTruncated.HasValue; - } - - /// - /// Gets and sets the NextMarker property. - /// NextMarker is set by S3 only if a Delimiter was specified - /// in the original ListObjects request. If a delimiter was - /// not specified, the AWS SDK for .NET returns the last Key - /// of the List of Objects retrieved from S3 as the NextMarker. - /// - public string NextMarker - { - get + private string NextMarkerCustomGetter() + { + // If the list is truncated and there is at least + // one object in the list returned and nextMarker + // has not been populated with a value, use the + // last returned Key as the default value. + if (String.IsNullOrEmpty(_nextMarker) && + _isTruncated.GetValueOrDefault() && + (this.S3Objects?.Count > 0)) { - // If the list is truncated and there is at least - // one object in the list returned and nextMarker - // has not been populated with a value, use the - // last returned Key as the default value. - if (System.String.IsNullOrEmpty(nextMarker) && - isTruncated.GetValueOrDefault() && - (this.S3Objects?.Count > 0)) - { - int lastObjIdx = this.S3Objects.Count - 1; - nextMarker = this.S3Objects[lastObjIdx].Key; - } - - return this.nextMarker; + int lastObjIdx = this.S3Objects.Count - 1; + _nextMarker = this.S3Objects[lastObjIdx].Key; } - set { this.nextMarker = value; } - } - - // Check to see if NextMarker property is set - internal bool IsSetNextMarker() - { - return this.nextMarker != null; - } - - /// - /// Gets the S3Objects property. This is a list of - /// objects in the bucket that match your search criteria. - /// - public List S3Objects - { - get { return this.contents; } - set { this.contents = value; } - } - - // Check to see if Contents property is set - internal bool IsSetContents() - { - return this.contents != null && (this.contents.Count > 0 || !AWSConfigs.InitializeCollections); - } - - /// - /// The bucket name. - /// - public string Name - { - get { return this.name; } - set { this.name = value; } - } - - // Check to see if Name property is set - internal bool IsSetName() - { - return this.name != null; - } - /// - /// Gets and sets the Prefix property. - /// - public string Prefix - { - get { return this.prefix; } - set { this.prefix = value; } - } - - // Check to see if Prefix property is set - internal bool IsSetPrefix() - { - return this.prefix != null; - } - - /// - /// Gets and sets the property RequestCharged. - /// - public RequestCharged RequestCharged - { - get { return this._requestCharged; } - set { this._requestCharged = value; } - } - - // Check to see if RequestCharged property is set - internal bool IsSetRequestCharged() - { - return this._requestCharged != null; - } - - /// - /// Gets and sets the MaxKeys property. This is max number of object keys returned by the list operation. - /// - public int? MaxKeys - { - get { return this.maxKeys; } - set { this.maxKeys = value; } - } - - // Check to see if MaxKeys property is set - internal bool IsSetMaxKeys() - { - return this.maxKeys.HasValue; - } - - /// - /// Gets the CommonPrefixes property. - /// A response can contain CommonPrefixes only if you specify a delimiter. - /// When you do, CommonPrefixes contains all (if there are any) keys between - /// Prefix and the next occurrence of the string specified by delimiter. In effect, - /// CommonPrefixes lists keys that act like subdirectories in the directory specified - /// by Prefix. For example, if prefix is notes/ and delimiter is a slash (/), in - /// notes/summer/july, the common prefix is notes/summer/. - /// - public List CommonPrefixes - { - get { return this.commonPrefixes; } - set { this.commonPrefixes = value; } - } - - // Check to see if CommonPrefixes property is set - internal bool IsSetCommonPrefixes() - { - return this.commonPrefixes != null && (this.commonPrefixes.Count > 0 || !AWSConfigs.InitializeCollections); - } - - /// - /// Gets and sets the Delimiter property. - /// Causes keys that contain the same string between the prefix and the - /// first occurrence of the delimiter to be rolled up into a single result - /// element in the CommonPrefixes collection. - /// - /// - /// These rolled-up keys are not returned elsewhere in the response. - /// - public string Delimiter - { - get { return this.delimiter; } - set { this.delimiter = value; } + return this._nextMarker; } } } diff --git a/sdk/src/Services/S3/Custom/Model/UpdateBucketMetadataJournalTableConfigurationRequest.cs b/sdk/src/Services/S3/Custom/Model/UpdateBucketMetadataJournalTableConfigurationRequest.cs deleted file mode 100644 index 1322f11292b5..000000000000 --- a/sdk/src/Services/S3/Custom/Model/UpdateBucketMetadataJournalTableConfigurationRequest.cs +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -using System; -using Amazon.Runtime; - -namespace Amazon.S3.Model -{ - /// - /// Container for the parameters to the UpdateBucketMetadataJournalTableConfiguration operation. - /// Updates the journal table configuration for a general purpose bucket. - /// - public partial class UpdateBucketMetadataJournalTableConfigurationRequest : AmazonWebServiceRequest - { - private string bucketName; - private ChecksumAlgorithm checksumAlgorithm; - private string contentMD5; - private JournalTableConfigurationUpdates journalTableConfiguration; - private string expectedBucketOwner; - - /// - /// - /// The general purpose bucket that you want to update the journal table configuration for. - /// - /// - public string BucketName - { - get { return this.bucketName; } - set { this.bucketName = value; } - } - - internal bool IsSetBucketName() - { - return !String.IsNullOrEmpty(bucketName); - } - - /// - /// - /// The checksum algorithm to use with your journal table configuration update. - /// - /// - public ChecksumAlgorithm ChecksumAlgorithm - { - get { return this.checksumAlgorithm; } - set { this.checksumAlgorithm = value; } - } - - internal bool IsSetChecksumAlgorithm() - { - return checksumAlgorithm != null; - } - - /// - /// - /// The Content-MD5 header for the journal table configuration update. - /// - /// - public string ContentMD5 - { - get { return this.contentMD5; } - set { this.contentMD5 = value; } - } - - internal bool IsSetContentMD5() - { - return !String.IsNullOrEmpty(this.contentMD5); - } - - /// - /// - /// The journal table configuration updates. - /// - /// - public JournalTableConfigurationUpdates JournalTableConfiguration - { - get { return this.journalTableConfiguration; } - set { this.journalTableConfiguration = value; } - } - - internal bool IsSetJournalTableConfiguration() - { - return this.journalTableConfiguration != null; - } - - /// - /// - /// The account ID of the expected bucket owner. If the account ID that you provide does not - /// match the actual owner of the bucket, the request fails with the HTTP status code - /// 403 Forbidden (access denied). - /// - /// - public string ExpectedBucketOwner - { - get { return this.expectedBucketOwner; } - set { this.expectedBucketOwner = value; } - } - - internal bool IsSetExpectedBucketOwner() - { - return !String.IsNullOrEmpty(this.expectedBucketOwner); - } - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/DeleteBucketMetadataConfigurationRequest.cs b/sdk/src/Services/S3/Generated/Model/DeleteBucketMetadataConfigurationRequest.cs new file mode 100644 index 000000000000..a52a3a423489 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/DeleteBucketMetadataConfigurationRequest.cs @@ -0,0 +1,133 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +#pragma warning disable CS0612,CS0618,CS1570 +namespace Amazon.S3.Model +{ + /// + /// Container for the parameters to the DeleteBucketMetadataConfiguration operation. + /// Deletes an S3 Metadata configuration from a general purpose bucket. For more information, + /// see Accelerating + /// data discovery with S3 Metadata in the Amazon S3 User Guide. + /// + /// + /// + /// You can use the V2 DeleteBucketMetadataConfiguration API operation with V1 + /// or V2 metadata configurations. However, if you try to use the V1 DeleteBucketMetadataTableConfiguration + /// API operation with V2 configurations, you will receive an HTTP 405 Method Not Allowed + /// error. + /// + ///
Permissions
+ /// + /// To use this operation, you must have the s3:DeleteBucketMetadataTableConfiguration + /// permission. For more information, see Setting + /// up permissions for configuring metadata tables in the Amazon S3 User Guide. + /// + /// + /// + /// + /// The IAM policy action name is the same for the V1 and V2 API operations. + /// + ///
+ /// + /// The following operations are related to DeleteBucketMetadataConfiguration: + /// + /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if + /// your header value is my file.txt, containing two spaces after my, you + /// must URL encode this value to my%20%20file.txt. + /// + /// + ///
+ public partial class DeleteBucketMetadataConfigurationRequest : AmazonWebServiceRequest + { + private string _bucketName; + private string _expectedBucketOwner; + + /// + /// Gets and sets the property BucketName. + /// + /// The general purpose bucket that you want to remove the metadata configuration from. + /// + /// + /// + [AWSProperty(Required=true)] + public string BucketName + { + get { return this._bucketName; } + set { this._bucketName = value; } + } + + // Check to see if BucketName property is set + internal bool IsSetBucketName() + { + return this._bucketName != null; + } + + /// + /// Gets and sets the property ExpectedBucketOwner. + /// + /// The expected bucket owner of the general purpose bucket that you want to remove the + /// metadata table configuration from. + /// + /// + public string ExpectedBucketOwner + { + get { return this._expectedBucketOwner; } + set { this._expectedBucketOwner = value; } + } + + // Check to see if ExpectedBucketOwner property is set + internal bool IsSetExpectedBucketOwner() + { + return !String.IsNullOrEmpty(this._expectedBucketOwner); + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/DeleteBucketMetadataConfigurationResponse.cs b/sdk/src/Services/S3/Generated/Model/DeleteBucketMetadataConfigurationResponse.cs similarity index 100% rename from sdk/src/Services/S3/Custom/Model/DeleteBucketMetadataConfigurationResponse.cs rename to sdk/src/Services/S3/Generated/Model/DeleteBucketMetadataConfigurationResponse.cs diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationRequestMarshaller.cs similarity index 82% rename from sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationRequestMarshaller.cs rename to sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationRequestMarshaller.cs index f65958b9936d..34e31112270d 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationRequestMarshaller.cs +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationRequestMarshaller.cs @@ -36,7 +36,7 @@ namespace Amazon.S3.Model.Internal.MarshallTransformations /// /// DeleteBucketMetadataConfiguration Request Marshaller /// - public class DeleteBucketMetadataConfigurationRequestMarshaller : IMarshaller , IMarshaller + public partial class DeleteBucketMetadataConfigurationRequestMarshaller : IMarshaller , IMarshaller { /// /// Marshaller the request object to the HTTP request. @@ -56,6 +56,7 @@ public IRequest Marshall(AmazonWebServiceRequest input) public IRequest Marshall(DeleteBucketMetadataConfigurationRequest publicRequest) { var request = new DefaultRequest(publicRequest, "Amazon.S3"); + PreMarshallCustomization(request, publicRequest); request.HttpMethod = "DELETE"; request.AddSubResource("metadataConfiguration"); @@ -65,10 +66,9 @@ public IRequest Marshall(DeleteBucketMetadataConfigurationRequest publicRequest) } if (!publicRequest.IsSetBucketName()) throw new AmazonS3Exception("Request object does not have required field BucketName set"); - request.AddPathResource("{Bucket}", StringUtils.FromString(publicRequest.BucketName)); - request.ResourcePath = "/{Bucket}"; - + request.ResourcePath = "/"; + PostMarshallCustomization(request, publicRequest); return request; } private static DeleteBucketMetadataConfigurationRequestMarshaller _instance = new DeleteBucketMetadataConfigurationRequestMarshaller(); @@ -89,5 +89,7 @@ public static DeleteBucketMetadataConfigurationRequestMarshaller Instance } } + partial void PostMarshallCustomization(DefaultRequest defaultRequest, DeleteBucketMetadataConfigurationRequest publicRequest); + partial void PreMarshallCustomization(DefaultRequest defaultRequest, DeleteBucketMetadataConfigurationRequest publicRequest); } } \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationResponseUnmarshaller.cs similarity index 82% rename from sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationResponseUnmarshaller.cs rename to sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationResponseUnmarshaller.cs index 58aecfc76892..48a0740d071e 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationResponseUnmarshaller.cs +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/DeleteBucketMetadataConfigurationResponseUnmarshaller.cs @@ -36,7 +36,7 @@ namespace Amazon.S3.Model.Internal.MarshallTransformations /// /// Response Unmarshaller for DeleteBucketMetadataConfiguration operation /// - public class DeleteBucketMetadataConfigurationResponseUnmarshaller : S3ReponseUnmarshaller + public partial class DeleteBucketMetadataConfigurationResponseUnmarshaller : S3ReponseUnmarshaller { /// /// Unmarshaller the response from the service to the response class. @@ -47,6 +47,7 @@ public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext conte { DeleteBucketMetadataConfigurationResponse response = new DeleteBucketMetadataConfigurationResponse(); + PostUnmarshallCustomization(context, response); return response; } @@ -60,7 +61,7 @@ public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext conte /// public override AmazonServiceException UnmarshallException(XmlUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode) { - var errorResponse = S3ErrorResponseUnmarshaller.Instance.Unmarshall(context); + S3ErrorResponse errorResponse = S3ErrorResponseUnmarshaller.Instance.Unmarshall(context); errorResponse.InnerException = innerException; errorResponse.StatusCode = statusCode; @@ -70,11 +71,17 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex using (var contextCopy = new XmlUnmarshallerContext(streamCopy, false, null)) { } - return new AmazonS3Exception(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode); + return base.ConstructS3Exception(context, errorResponse, innerException, statusCode); } + partial void PostUnmarshallCustomization(XmlUnmarshallerContext context, DeleteBucketMetadataConfigurationResponse response); + private static DeleteBucketMetadataConfigurationResponseUnmarshaller _instance = new DeleteBucketMetadataConfigurationResponseUnmarshaller(); + internal static DeleteBucketMetadataConfigurationResponseUnmarshaller GetInstance() + { + return _instance; + } /// /// Gets the singleton. diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListMultipartUploadsRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListMultipartUploadsRequestMarshaller.cs new file mode 100644 index 000000000000..003a9a64b2dd --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListMultipartUploadsRequestMarshaller.cs @@ -0,0 +1,119 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Text; +using System.Xml.Serialization; + +using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; +using System.Xml; + +#pragma warning disable CS0612,CS0618 +namespace Amazon.S3.Model.Internal.MarshallTransformations +{ + /// + /// ListMultipartUploads Request Marshaller + /// + public partial class ListMultipartUploadsRequestMarshaller : IMarshaller , IMarshaller + { + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(AmazonWebServiceRequest input) + { + return this.Marshall((ListMultipartUploadsRequest)input); + } + + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(ListMultipartUploadsRequest publicRequest) + { + var request = new DefaultRequest(publicRequest, "Amazon.S3"); + PreMarshallCustomization(request, publicRequest); + request.HttpMethod = "GET"; + request.AddSubResource("uploads"); + + if (publicRequest.IsSetExpectedBucketOwner()) + { + request.Headers["x-amz-expected-bucket-owner"] = publicRequest.ExpectedBucketOwner; + } + + if (publicRequest.IsSetRequestPayer()) + { + request.Headers["x-amz-request-payer"] = publicRequest.RequestPayer; + } + if (string.IsNullOrEmpty(publicRequest.BucketName)) + throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "ListMultipartUploadsRequest.BucketName"); + + if (publicRequest.IsSetDelimiter()) + request.Parameters.Add("delimiter", StringUtils.FromString(publicRequest.Delimiter)); + + if (publicRequest.IsSetEncoding()) + request.Parameters.Add("encoding-type", StringUtils.FromString(publicRequest.Encoding)); + + if (publicRequest.IsSetKeyMarker()) + request.Parameters.Add("key-marker", StringUtils.FromString(publicRequest.KeyMarker)); + + if (publicRequest.IsSetMaxUploads()) + request.Parameters.Add("max-uploads", StringUtils.FromInt(publicRequest.MaxUploads)); + + if (publicRequest.IsSetPrefix()) + request.Parameters.Add("prefix", StringUtils.FromString(publicRequest.Prefix)); + + if (publicRequest.IsSetUploadIdMarker()) + request.Parameters.Add("upload-id-marker", StringUtils.FromString(publicRequest.UploadIdMarker)); + request.ResourcePath = "/"; + + PostMarshallCustomization(request, publicRequest); + request.UseQueryString = true; + return request; + } + private static ListMultipartUploadsRequestMarshaller _instance = new ListMultipartUploadsRequestMarshaller(); + + internal static ListMultipartUploadsRequestMarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static ListMultipartUploadsRequestMarshaller Instance + { + get + { + return _instance; + } + } + + partial void PostMarshallCustomization(DefaultRequest defaultRequest, ListMultipartUploadsRequest publicRequest); + partial void PreMarshallCustomization(DefaultRequest defaultRequest, ListMultipartUploadsRequest publicRequest); + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs new file mode 100644 index 000000000000..81e38be2c0f6 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListMultipartUploadsResponseUnmarshaller.cs @@ -0,0 +1,199 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Net; +using System.Text; +using System.Xml.Serialization; + +using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; + +#pragma warning disable CS0612,CS0618 +namespace Amazon.S3.Model.Internal.MarshallTransformations +{ + /// + /// Response Unmarshaller for ListMultipartUploads operation + /// + public partial class ListMultipartUploadsResponseUnmarshaller : S3ReponseUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) + { + ListMultipartUploadsResponse response = new ListMultipartUploadsResponse(); + UnmarshallResult(context,response); + if (context.ResponseData.IsHeaderPresent("x-amz-request-charged")) + response.RequestCharged = context.ResponseData.GetHeaderValue("x-amz-request-charged"); + + PostUnmarshallCustomization(context, response); + return response; + } + + private static void UnmarshallResult(XmlUnmarshallerContext context, ListMultipartUploadsResponse response) + { + int originalDepth = context.CurrentDepth; + int targetDepth = originalDepth + 1; + if (context.IsStartOfDocument) + targetDepth += 1; + if (context.IsEmptyResponse) + { + return; + } + while (context.Read()) + { + if (context.IsStartElement || context.IsAttribute) + { + if (context.TestExpression("Bucket", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.BucketName = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("CommonPrefixes", targetDepth)) + { + CommonPrefixesCustomUnmarshall(context, response); + continue; + } + if (context.TestExpression("Delimiter", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Delimiter = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("EncodingType", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.EncodingType = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("IsTruncated", targetDepth)) + { + var unmarshaller = NullableBoolUnmarshaller.Instance; + response.IsTruncated = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("KeyMarker", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.KeyMarker = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("MaxUploads", targetDepth)) + { + var unmarshaller = NullableIntUnmarshaller.Instance; + response.MaxUploads = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Upload", targetDepth)) + { + if (response.MultipartUploads == null) + { + response.MultipartUploads = new List(); + } + var unmarshaller = MultipartUploadUnmarshaller.Instance; + response.MultipartUploads.Add(unmarshaller.Unmarshall(context)); + continue; + } + if (context.TestExpression("NextKeyMarker", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.NextKeyMarker = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("NextUploadIdMarker", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.NextUploadIdMarker = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Prefix", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Prefix = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("UploadIdMarker", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.UploadIdMarker = unmarshaller.Unmarshall(context); + continue; + } + } + else if (context.IsEndElement && context.CurrentDepth < originalDepth) + { + return; + } + } + return; + } + + + /// + /// Unmarshaller error response to exception. + /// + /// + /// + /// + /// + public override AmazonServiceException UnmarshallException(XmlUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode) + { + S3ErrorResponse errorResponse = S3ErrorResponseUnmarshaller.Instance.Unmarshall(context); + errorResponse.InnerException = innerException; + errorResponse.StatusCode = statusCode; + + var responseBodyBytes = context.GetResponseBodyBytes(); + + using (var streamCopy = new MemoryStream(responseBodyBytes)) + using (var contextCopy = new XmlUnmarshallerContext(streamCopy, false, null)) + { + } + return base.ConstructS3Exception(context, errorResponse, innerException, statusCode); + } + + partial void PostUnmarshallCustomization(XmlUnmarshallerContext context, ListMultipartUploadsResponse response); + + private static ListMultipartUploadsResponseUnmarshaller _instance = new ListMultipartUploadsResponseUnmarshaller(); + + internal static ListMultipartUploadsResponseUnmarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static ListMultipartUploadsResponseUnmarshaller Instance + { + get + { + return _instance; + } + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListObjectsRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListObjectsRequestMarshaller.cs new file mode 100644 index 000000000000..bc889dcb9da7 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListObjectsRequestMarshaller.cs @@ -0,0 +1,120 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Text; +using System.Xml.Serialization; + +using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; +using System.Xml; + +#pragma warning disable CS0612,CS0618 +namespace Amazon.S3.Model.Internal.MarshallTransformations +{ + /// + /// ListObjects Request Marshaller + /// + public partial class ListObjectsRequestMarshaller : IMarshaller , IMarshaller + { + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(AmazonWebServiceRequest input) + { + return this.Marshall((ListObjectsRequest)input); + } + + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(ListObjectsRequest publicRequest) + { + var request = new DefaultRequest(publicRequest, "Amazon.S3"); + PreMarshallCustomization(request, publicRequest); + request.HttpMethod = "GET"; + + if (publicRequest.IsSetExpectedBucketOwner()) + { + request.Headers["x-amz-expected-bucket-owner"] = publicRequest.ExpectedBucketOwner; + } + + if (publicRequest.IsSetOptionalObjectAttributes()) + { + request.Headers["x-amz-optional-object-attributes"] = StringUtils.FromList(publicRequest.OptionalObjectAttributes); + } + + if (publicRequest.IsSetRequestPayer()) + { + request.Headers["x-amz-request-payer"] = publicRequest.RequestPayer; + } + if (string.IsNullOrEmpty(publicRequest.BucketName)) + throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "ListObjectsRequest.BucketName"); + + if (publicRequest.IsSetDelimiter()) + request.Parameters.Add("delimiter", StringUtils.FromString(publicRequest.Delimiter)); + + if (publicRequest.IsSetEncoding()) + request.Parameters.Add("encoding-type", StringUtils.FromString(publicRequest.Encoding)); + + if (publicRequest.IsSetMarker()) + request.Parameters.Add("marker", StringUtils.FromString(publicRequest.Marker)); + + if (publicRequest.IsSetMaxKeys()) + request.Parameters.Add("max-keys", StringUtils.FromInt(publicRequest.MaxKeys)); + + if (publicRequest.IsSetPrefix()) + request.Parameters.Add("prefix", StringUtils.FromString(publicRequest.Prefix)); + request.ResourcePath = "/"; + + PostMarshallCustomization(request, publicRequest); + request.UseQueryString = true; + return request; + } + private static ListObjectsRequestMarshaller _instance = new ListObjectsRequestMarshaller(); + + internal static ListObjectsRequestMarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static ListObjectsRequestMarshaller Instance + { + get + { + return _instance; + } + } + + partial void PostMarshallCustomization(DefaultRequest defaultRequest, ListObjectsRequest publicRequest); + partial void PreMarshallCustomization(DefaultRequest defaultRequest, ListObjectsRequest publicRequest); + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs new file mode 100644 index 000000000000..fbd089d6102a --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ListObjectsResponseUnmarshaller.cs @@ -0,0 +1,191 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Net; +using System.Text; +using System.Xml.Serialization; + +using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; + +#pragma warning disable CS0612,CS0618 +namespace Amazon.S3.Model.Internal.MarshallTransformations +{ + /// + /// Response Unmarshaller for ListObjects operation + /// + public partial class ListObjectsResponseUnmarshaller : S3ReponseUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) + { + ListObjectsResponse response = new ListObjectsResponse(); + UnmarshallResult(context,response); + if (context.ResponseData.IsHeaderPresent("x-amz-request-charged")) + response.RequestCharged = context.ResponseData.GetHeaderValue("x-amz-request-charged"); + + PostUnmarshallCustomization(context, response); + return response; + } + + private static void UnmarshallResult(XmlUnmarshallerContext context, ListObjectsResponse response) + { + int originalDepth = context.CurrentDepth; + int targetDepth = originalDepth + 1; + if (context.IsStartOfDocument) + targetDepth += 1; + if (context.IsEmptyResponse) + { + return; + } + while (context.Read()) + { + if (context.IsStartElement || context.IsAttribute) + { + if (context.TestExpression("CommonPrefixes", targetDepth)) + { + if (response.CommonPrefixes == null) + { + response.CommonPrefixes = new List(); + } + var unmarshaller = CommonPrefixesItemUnmarshaller.Instance; + response.CommonPrefixes.Add(unmarshaller.Unmarshall(context)); + continue; + } + if (context.TestExpression("Delimiter", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Delimiter = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("EncodingType", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Encoding = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("IsTruncated", targetDepth)) + { + var unmarshaller = NullableBoolUnmarshaller.Instance; + response.IsTruncated = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Marker", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Marker = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("MaxKeys", targetDepth)) + { + var unmarshaller = NullableIntUnmarshaller.Instance; + response.MaxKeys = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Name", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Name = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("NextMarker", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.NextMarker = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Prefix", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Prefix = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Contents", targetDepth)) + { + ContentsCustomUnmarshall(context, response); + continue; + } + } + else if (context.IsEndElement && context.CurrentDepth < originalDepth) + { + return; + } + } + return; + } + + + /// + /// Unmarshaller error response to exception. + /// + /// + /// + /// + /// + public override AmazonServiceException UnmarshallException(XmlUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode) + { + S3ErrorResponse errorResponse = S3ErrorResponseUnmarshaller.Instance.Unmarshall(context); + errorResponse.InnerException = innerException; + errorResponse.StatusCode = statusCode; + + var responseBodyBytes = context.GetResponseBodyBytes(); + + using (var streamCopy = new MemoryStream(responseBodyBytes)) + using (var contextCopy = new XmlUnmarshallerContext(streamCopy, false, null)) + { + if (errorResponse.Code != null && errorResponse.Code.Equals("NoSuchBucket")) + { + return NoSuchBucketExceptionUnmarshaller.Instance.Unmarshall(contextCopy, errorResponse); + } + } + return base.ConstructS3Exception(context, errorResponse, innerException, statusCode); + } + + partial void PostUnmarshallCustomization(XmlUnmarshallerContext context, ListObjectsResponse response); + + private static ListObjectsResponseUnmarshaller _instance = new ListObjectsResponseUnmarshaller(); + + internal static ListObjectsResponseUnmarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static ListObjectsResponseUnmarshaller Instance + { + get + { + return _instance; + } + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/MultipartUploadUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/MultipartUploadUnmarshaller.cs similarity index 53% rename from sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/MultipartUploadUnmarshaller.cs rename to sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/MultipartUploadUnmarshaller.cs index 0973f943f323..6e3e15230d9f 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/MultipartUploadUnmarshaller.cs +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/MultipartUploadUnmarshaller.cs @@ -12,26 +12,40 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Net; +using System.Text; +using System.Xml.Serialization; using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; +#pragma warning disable CS0612,CS0618 namespace Amazon.S3.Model.Internal.MarshallTransformations { - /// - /// UploadsItem Unmarshaller - /// - public class MultipartUploadUnmarshaller : IXmlUnmarshaller + /// + /// Response Unmarshaller for MultipartUpload Object + /// + public partial class MultipartUploadUnmarshaller : IXmlUnmarshaller { /// /// Unmarshaller the response from the service to the response class. - /// + /// /// /// - public MultipartUpload Unmarshall(XmlUnmarshallerContext context) + public MultipartUpload Unmarshall(XmlUnmarshallerContext context) { - MultipartUpload uploadsItem = new MultipartUpload(); + MultipartUpload unmarshalledObject = new MultipartUpload(); int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; @@ -44,80 +58,76 @@ public MultipartUpload Unmarshall(XmlUnmarshallerContext context) { if (context.TestExpression("ChecksumAlgorithm", targetDepth)) { - uploadsItem.ChecksumAlgorithm = StringUnmarshaller.GetInstance().Unmarshall(context); + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.ChecksumAlgorithm = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("ChecksumType", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.ChecksumType = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Initiated", targetDepth)) { - uploadsItem.Initiated = DateTimeUnmarshaller.GetInstance().Unmarshall(context); - + var unmarshaller = NullableDateTimeUnmarshaller.Instance; + unmarshalledObject.Initiated = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Initiator", targetDepth)) { - uploadsItem.Initiator = InitiatorUnmarshaller.Instance.Unmarshall(context); - + var unmarshaller = InitiatorUnmarshaller.Instance; + unmarshalledObject.Initiator = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Key", targetDepth)) { - uploadsItem.Key = StringUnmarshaller.GetInstance().Unmarshall(context); - + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.Key = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Owner", targetDepth)) { - uploadsItem.Owner = OwnerUnmarshaller.Instance.Unmarshall(context); - + var unmarshaller = OwnerUnmarshaller.Instance; + unmarshalledObject.Owner = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("StorageClass", targetDepth)) { - uploadsItem.StorageClass = StringUnmarshaller.GetInstance().Unmarshall(context); - + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.StorageClass = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("UploadId", targetDepth)) { - uploadsItem.UploadId = StringUnmarshaller.GetInstance().Unmarshall(context); - + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.UploadId = unmarshaller.Unmarshall(context); continue; } - if (context.TestExpression("ChecksumType", targetDepth)) - { - uploadsItem.ChecksumType = StringUnmarshaller.GetInstance().Unmarshall(context); - continue; - } + XmlStructureUnmarshallCustomization(context, unmarshalledObject, targetDepth); } else if (context.IsEndElement && context.CurrentDepth < originalDepth) { - return uploadsItem; + return unmarshalledObject; } - } - - - - return uploadsItem; + } + return unmarshalledObject; } - private static MultipartUploadUnmarshaller _instance; + partial void XmlStructureUnmarshallCustomization(XmlUnmarshallerContext context, MultipartUpload unmarshalledObject, int targetDepth); + + private static MultipartUploadUnmarshaller _instance = new MultipartUploadUnmarshaller(); /// - /// Singleton for the unmarshaller - /// + /// Gets the singleton. + /// public static MultipartUploadUnmarshaller Instance { get { - if (_instance == null) - { - _instance = new MultipartUploadUnmarshaller(); - } return _instance; } } - } -} - +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationRequestMarshaller.cs new file mode 100644 index 000000000000..8aab03e3aecf --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationRequestMarshaller.cs @@ -0,0 +1,141 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Text; +using System.Xml.Serialization; + +using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; +using System.Xml; + +#pragma warning disable CS0612,CS0618 +namespace Amazon.S3.Model.Internal.MarshallTransformations +{ + /// + /// UpdateBucketMetadataJournalTableConfiguration Request Marshaller + /// + public partial class UpdateBucketMetadataJournalTableConfigurationRequestMarshaller : IMarshaller , IMarshaller + { + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(AmazonWebServiceRequest input) + { + return this.Marshall((UpdateBucketMetadataJournalTableConfigurationRequest)input); + } + + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(UpdateBucketMetadataJournalTableConfigurationRequest publicRequest) + { + var request = new DefaultRequest(publicRequest, "Amazon.S3"); + PreMarshallCustomization(request, publicRequest); + request.HttpMethod = "PUT"; + request.AddSubResource("metadataJournalTable"); + + if (publicRequest.IsSetChecksumAlgorithm()) + { + request.Headers["x-amz-sdk-checksum-algorithm"] = publicRequest.ChecksumAlgorithm; + } + + if (publicRequest.IsSetContentMD5()) + { + request.Headers["Content-MD5"] = publicRequest.ContentMD5; + } + + if (publicRequest.IsSetExpectedBucketOwner()) + { + request.Headers["x-amz-expected-bucket-owner"] = publicRequest.ExpectedBucketOwner; + } + if (string.IsNullOrEmpty(publicRequest.BucketName)) + throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "UpdateBucketMetadataJournalTableConfigurationRequest.BucketName"); + request.ResourcePath = "/"; + var stringWriter = new XMLEncodedStringWriter(CultureInfo.InvariantCulture); + using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize })) + { + if (publicRequest.IsSetJournalTableConfiguration()) + { + xmlWriter.WriteStartElement("JournalTableConfiguration", "http://s3.amazonaws.com/doc/2006-03-01/"); + if (publicRequest.JournalTableConfiguration.RecordExpiration != null) + { + xmlWriter.WriteStartElement("RecordExpiration"); + if(publicRequest.JournalTableConfiguration.RecordExpiration.IsSetDays()) + xmlWriter.WriteElementString("Days", StringUtils.FromInt(publicRequest.JournalTableConfiguration.RecordExpiration.Days.Value)); + if(publicRequest.JournalTableConfiguration.RecordExpiration.IsSetExpiration()) + xmlWriter.WriteElementString("Expiration", StringUtils.FromString(publicRequest.JournalTableConfiguration.RecordExpiration.Expiration)); + xmlWriter.WriteEndElement(); + } + + xmlWriter.WriteEndElement(); + } + } + PostMarshallCustomization(request, publicRequest); + try + { + string content = stringWriter.ToString(); + request.Content = System.Text.Encoding.UTF8.GetBytes(content); + request.Headers["Content-Type"] = "application/xml"; + ChecksumUtils.SetChecksumData( + request, + publicRequest.ChecksumAlgorithm, + fallbackToMD5: false, + isRequestChecksumRequired: true, + headerName: "x-amz-sdk-checksum-algorithm" + ); + request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2006-03-01"; + } + catch (EncoderFallbackException e) + { + throw new AmazonServiceException("Unable to marshall request to XML", e); + } + return request; + } + private static UpdateBucketMetadataJournalTableConfigurationRequestMarshaller _instance = new UpdateBucketMetadataJournalTableConfigurationRequestMarshaller(); + + internal static UpdateBucketMetadataJournalTableConfigurationRequestMarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static UpdateBucketMetadataJournalTableConfigurationRequestMarshaller Instance + { + get + { + return _instance; + } + } + + partial void PostMarshallCustomization(DefaultRequest defaultRequest, UpdateBucketMetadataJournalTableConfigurationRequest publicRequest); + partial void PreMarshallCustomization(DefaultRequest defaultRequest, UpdateBucketMetadataJournalTableConfigurationRequest publicRequest); + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller.cs new file mode 100644 index 000000000000..9cdcebd8724c --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller.cs @@ -0,0 +1,98 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Net; +using System.Text; +using System.Xml.Serialization; + +using Amazon.S3.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; + +#pragma warning disable CS0612,CS0618 +namespace Amazon.S3.Model.Internal.MarshallTransformations +{ + /// + /// Response Unmarshaller for UpdateBucketMetadataJournalTableConfiguration operation + /// + public partial class UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller : S3ReponseUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) + { + UpdateBucketMetadataJournalTableConfigurationResponse response = new UpdateBucketMetadataJournalTableConfigurationResponse(); + + PostUnmarshallCustomization(context, response); + return response; + } + + + /// + /// Unmarshaller error response to exception. + /// + /// + /// + /// + /// + public override AmazonServiceException UnmarshallException(XmlUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode) + { + S3ErrorResponse errorResponse = S3ErrorResponseUnmarshaller.Instance.Unmarshall(context); + errorResponse.InnerException = innerException; + errorResponse.StatusCode = statusCode; + + var responseBodyBytes = context.GetResponseBodyBytes(); + + using (var streamCopy = new MemoryStream(responseBodyBytes)) + using (var contextCopy = new XmlUnmarshallerContext(streamCopy, false, null)) + { + } + return base.ConstructS3Exception(context, errorResponse, innerException, statusCode); + } + + partial void PostUnmarshallCustomization(XmlUnmarshallerContext context, UpdateBucketMetadataJournalTableConfigurationResponse response); + + private static UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller _instance = new UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller(); + + internal static UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static UpdateBucketMetadataJournalTableConfigurationResponseUnmarshaller Instance + { + get + { + return _instance; + } + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/JournalTableConfigurationUpdates.cs b/sdk/src/Services/S3/Generated/Model/JournalTableConfigurationUpdates.cs new file mode 100644 index 000000000000..7e25b34c8149 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/JournalTableConfigurationUpdates.cs @@ -0,0 +1,59 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +#pragma warning disable CS0612,CS0618,CS1570 +namespace Amazon.S3.Model +{ + /// + /// The specified updates to the S3 Metadata journal table configuration. + /// + public partial class JournalTableConfigurationUpdates + { + private RecordExpiration _recordExpiration; + + /// + /// Gets and sets the property RecordExpiration. + /// + /// The journal table record expiration settings for the journal table. + /// + /// + [AWSProperty(Required=true)] + public RecordExpiration RecordExpiration + { + get { return this._recordExpiration; } + set { this._recordExpiration = value; } + } + + // Check to see if RecordExpiration property is set + internal bool IsSetRecordExpiration() + { + return this._recordExpiration != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/ListMultipartUploadsRequest.cs b/sdk/src/Services/S3/Generated/Model/ListMultipartUploadsRequest.cs similarity index 63% rename from sdk/src/Services/S3/Custom/Model/ListMultipartUploadsRequest.cs rename to sdk/src/Services/S3/Generated/Model/ListMultipartUploadsRequest.cs index 4e63d4328a96..6aa3231af2c9 100644 --- a/sdk/src/Services/S3/Custom/Model/ListMultipartUploadsRequest.cs +++ b/sdk/src/Services/S3/Generated/Model/ListMultipartUploadsRequest.cs @@ -12,28 +12,53 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; +using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; +#pragma warning disable CS0612,CS0618,CS1570 namespace Amazon.S3.Model { /// /// Container for the parameters to the ListMultipartUploads operation. + /// + /// + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning + /// DisplayName. Update your applications to use canonical IDs (unique identifier + /// for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) + /// or IAM ARNs (full resource naming) as a direct replacement of DisplayName. + /// + /// + /// + /// + /// This change affects the following Amazon Web Services Regions: US East (N. Virginia) + /// Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + /// Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) + /// Region, and South America (São Paulo) Region. + /// + /// + /// /// This operation lists in-progress multipart uploads in a bucket. An in-progress multipart /// upload is a multipart upload that has been initiated by the CreateMultipartUpload /// request, but has not yet been completed or aborted. - /// + /// /// /// /// Directory buckets - If multipart uploads in a directory bucket are in progress, /// you can't delete the bucket until all the in-progress multipart uploads are aborted - /// or completed. + /// or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads + /// operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload + /// operation to abort all the in-progress multipart uploads. /// /// /// @@ -65,9 +90,12 @@ namespace Amazon.S3.Model /// /// Directory buckets - For directory buckets, you must make requests for this /// API operation to the Zonal endpoint. These endpoints support virtual-hosted-style - /// requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name - /// . Path-style requests are not supported. For more information, see Regional - /// and Zonal endpoints in the Amazon S3 User Guide. + /// requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name + /// . Path-style requests are not supported. For more information about endpoints + /// in Availability Zones, see Regional + /// and Zonal endpoints for directory buckets in Availability Zones in the Amazon + /// S3 User Guide. For more information about endpoints in Local Zones, see Concepts + /// for directory buckets in Local Zones in the Amazon S3 User Guide. /// ///
Permissions
  • /// @@ -115,7 +143,7 @@ namespace Amazon.S3.Model /// ///
HTTP Host header syntax
/// - /// Directory buckets - The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com. + /// Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. /// ///
/// @@ -146,64 +174,80 @@ namespace Amazon.S3.Model /// AbortMultipartUpload /// /// - /// + /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if + /// your header value is my file.txt, containing two spaces after my, you + /// must URL encode this value to my%20%20file.txt. + /// + /// ///
public partial class ListMultipartUploadsRequest : AmazonWebServiceRequest { - private string bucketName; - private string delimiter; - private EncodingType encoding; - private string expectedBucketOwner; - private string keyMarker; - private int? maxUploads; - private string prefix; + private string _bucketName; + private string _delimiter; + private EncodingType _encoding; + private string _expectedBucketOwner; + private string _keyMarker; + private int? _maxUploads; + private string _prefix; private RequestPayer _requestPayer; - private string uploadIdMarker; + private string _uploadIdMarker; /// /// Gets and sets the property BucketName. /// /// The name of the bucket to which the multipart upload was initiated. - /// - /// - /// Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests - /// in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are - /// not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must - /// follow the format bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). For - /// information about bucket naming restrictions, see - /// Directory bucket naming rules in - /// the Amazon S3 User Guide. - /// - /// - /// Access points - When you use this action with an access point for general purpose buckets, you must provide the alias of - /// the access point in place of the bucket name or specify the access point ARN. When you use this action with an access point for - /// directory buckets, you must provide the access point name in place of the bucket name. When using the access point ARN, you must - /// direct requests to the access point hostname. The access point hostname takes the - /// form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access - /// point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information - /// about access point ARNs, see - /// Using access points in - /// the Amazon S3 User Guide. Object Lambda access points are not supported by directory buckets. - /// - /// - /// - /// S3 on Outposts - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 - /// on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When - /// you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more - /// information about S3 on Outposts, see - /// What is S3 on Outposts? in the Amazon S3 User Guide. + /// + /// + /// + /// Directory buckets - When you use this operation with a directory bucket, you + /// must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. + /// Path-style requests are not supported. Directory bucket names must be unique in the + /// chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format + /// bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). + /// For information about bucket naming restrictions, see Directory + /// bucket naming rules in the Amazon S3 User Guide. + /// + /// + /// + /// Access points - When you use this action with an access point for general + /// purpose buckets, you must provide the alias of the access point in place of the bucket + /// name or specify the access point ARN. When you use this action with an access point + /// for directory buckets, you must provide the access point name in place of the bucket + /// name. When using the access point ARN, you must direct requests to the access point + /// hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. + /// When using this action with an access point through the Amazon Web Services SDKs, + /// you provide the access point ARN in place of the bucket name. For more information + /// about access point ARNs, see Using + /// access points in the Amazon S3 User Guide. + /// + /// + /// + /// Object Lambda access points are not supported by directory buckets. + /// + /// + /// + /// S3 on Outposts - When you use this action with S3 on Outposts, you must direct + /// requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + /// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. + /// When you use this action with S3 on Outposts, the destination bucket must be the Outposts + /// access point ARN or the access point alias. For more information about S3 on Outposts, + /// see What + /// is S3 on Outposts? in the Amazon S3 User Guide. /// /// + [AWSProperty(Required=true)] public string BucketName { - get { return this.bucketName; } - set { this.bucketName = value; } + get { return this._bucketName; } + set { this._bucketName = value; } } // Check to see if BucketName property is set internal bool IsSetBucketName() { - return this.bucketName != null; + return this._bucketName != null; } /// @@ -219,10 +263,12 @@ internal bool IsSetBucketName() /// starts at the beginning of the key. The keys that are grouped under CommonPrefixes /// result element are not returned elsewhere in the response. /// - /// + /// /// - /// CommonPrefixes is filtered out from results if it is not lexicographically greater than the key-marker. + /// CommonPrefixes is filtered out from results if it is not lexicographically + /// greater than the key-marker. /// + /// /// /// Directory buckets - For directory buckets, / is the only supported /// delimiter. @@ -231,34 +277,29 @@ internal bool IsSetBucketName() /// public string Delimiter { - get { return this.delimiter; } - set { this.delimiter = value; } + get { return this._delimiter; } + set { this._delimiter = value; } } // Check to see if Delimiter property is set internal bool IsSetDelimiter() { - return this.delimiter != null; + return this._delimiter != null; } /// - /// Requests Amazon S3 to encode the object keys in the response and specifies - /// the encoding method to use. An object key may contain any Unicode character; - /// however, XML 1.0 parser cannot parse some characters, such as characters - /// with an ASCII value from 0 to 10. For characters that are not supported in - /// XML 1.0, you can add this parameter to request that Amazon S3 encode the - /// keys in the response. + /// Gets and sets the property Encoding. /// public EncodingType Encoding { - get { return this.encoding; } - set { this.encoding = value; } + get { return this._encoding; } + set { this._encoding = value; } } - // Check to see if DeleteMarker property is set + // Check to see if Encoding property is set internal bool IsSetEncoding() { - return this.encoding != null; + return this._encoding != null; } /// @@ -271,17 +312,14 @@ internal bool IsSetEncoding() /// public string ExpectedBucketOwner { - get { return this.expectedBucketOwner; } - set { this.expectedBucketOwner = value; } + get { return this._expectedBucketOwner; } + set { this._expectedBucketOwner = value; } } - /// - /// Checks to see if ExpectedBucketOwner is set. - /// - /// true, if ExpectedBucketOwner property is set. + // Check to see if ExpectedBucketOwner property is set internal bool IsSetExpectedBucketOwner() { - return !String.IsNullOrEmpty(this.expectedBucketOwner); + return !String.IsNullOrEmpty(this._expectedBucketOwner); } /// @@ -291,46 +329,46 @@ internal bool IsSetExpectedBucketOwner() /// ///
  • /// - /// General purpose buckets - For general purpose buckets, key-marker - /// is an object key. Together with upload-id-marker, this parameter specifies - /// the multipart upload after which listing should begin. + /// General purpose buckets - For general purpose buckets, key-marker is + /// an object key. Together with upload-id-marker, this parameter specifies the + /// multipart upload after which listing should begin. /// /// /// - /// If upload-id-marker is not specified, only the keys lexicographically - /// greater than the specified key-marker will be included in the list. + /// If upload-id-marker is not specified, only the keys lexicographically greater + /// than the specified key-marker will be included in the list. /// /// /// - /// If upload-id-marker is specified, any multipart uploads for a key equal - /// to the key-marker might also be included, provided those multipart uploads - /// have upload IDs lexicographically greater than the specified upload-id-marker. + /// If upload-id-marker is specified, any multipart uploads for a key equal to + /// the key-marker might also be included, provided those multipart uploads have + /// upload IDs lexicographically greater than the specified upload-id-marker. /// ///
  • /// /// Directory buckets - For directory buckets, key-marker is obfuscated /// and isn't a real object key. The upload-id-marker parameter isn't supported /// by directory buckets. To list the additional multipart uploads, you only need to set - /// the value of key-marker to the NextKeyMarker value from - /// the previous response. + /// the value of key-marker to the NextKeyMarker value from the previous + /// response. /// /// /// - /// In the ListMultipartUploads response, the multipart uploads aren't sorted - /// lexicographically based on the object keys. + /// In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically + /// based on the object keys. /// ///
///
public string KeyMarker { - get { return this.keyMarker; } - set { this.keyMarker = value; } + get { return this._keyMarker; } + set { this._keyMarker = value; } } // Check to see if KeyMarker property is set internal bool IsSetKeyMarker() { - return this.keyMarker != null; + return this._keyMarker != null; } /// @@ -342,14 +380,14 @@ internal bool IsSetKeyMarker() /// public int? MaxUploads { - get { return this.maxUploads; } - set { this.maxUploads = value; } + get { return this._maxUploads; } + set { this._maxUploads = value; } } // Check to see if MaxUploads property is set internal bool IsSetMaxUploads() { - return this.maxUploads.HasValue; + return this._maxUploads.HasValue; } /// @@ -357,8 +395,8 @@ internal bool IsSetMaxUploads() /// /// Lists in-progress uploads only for those keys that begin with the specified prefix. /// You can use prefixes to separate a bucket into different grouping of keys. (You can - /// think of using prefix to make groups in the same way that you'd use a - /// folder in a file system.) + /// think of using prefix to make groups in the same way that you'd use a folder + /// in a file system.) /// /// /// @@ -369,14 +407,14 @@ internal bool IsSetMaxUploads() /// public string Prefix { - get { return this.prefix; } - set { this.prefix = value; } + get { return this._prefix; } + set { this._prefix = value; } } // Check to see if Prefix property is set internal bool IsSetPrefix() { - return this.prefix != null; + return this._prefix != null; } /// @@ -411,15 +449,15 @@ internal bool IsSetRequestPayer() /// public string UploadIdMarker { - get { return this.uploadIdMarker; } - set { this.uploadIdMarker = value; } + get { return this._uploadIdMarker; } + set { this._uploadIdMarker = value; } } // Check to see if UploadIdMarker property is set internal bool IsSetUploadIdMarker() { - return this.uploadIdMarker != null; + return this._uploadIdMarker != null; } + } -} - +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/ListMultipartUploadsResponse.cs b/sdk/src/Services/S3/Generated/Model/ListMultipartUploadsResponse.cs similarity index 52% rename from sdk/src/Services/S3/Custom/Model/ListMultipartUploadsResponse.cs rename to sdk/src/Services/S3/Generated/Model/ListMultipartUploadsResponse.cs index b2b54e1a97c6..00159763e211 100644 --- a/sdk/src/Services/S3/Custom/Model/ListMultipartUploadsResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/ListMultipartUploadsResponse.cs @@ -12,33 +12,41 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; +using System.IO; +using System.Net; using Amazon.Runtime; +using Amazon.Runtime.Internal; +#pragma warning disable CS0612,CS0618,CS1570 namespace Amazon.S3.Model { /// - /// Returns information about the ListMultipartUploads response and response metadata. + /// This is the response object from the ListMultipartUploads operation. /// - public class ListMultipartUploadsResponse : AmazonWebServiceResponse + public partial class ListMultipartUploadsResponse : AmazonWebServiceResponse { private string _bucketName; - private string keyMarker; - private string uploadIdMarker; - private string nextKeyMarker; - private string nextUploadIdMarker; - private int? maxUploads; + private List _commonPrefixes = AWSConfigs.InitializeCollections ? new List() : null; + private string _delimiter; + private EncodingType _encodingType; + private bool? _isTruncated; + private string _keyMarker; + private int? _maxUploads; + private List _multipartUploads = AWSConfigs.InitializeCollections ? new List() : null; + private string _nextKeyMarker; + private string _nextUploadIdMarker; + private string _prefix; private RequestCharged _requestCharged; - private bool? isTruncated; - - private List multipartUploads = AWSConfigs.InitializeCollections ? new List() : null; - private string delimiter; - private List commonPrefixes = AWSConfigs.InitializeCollections ? new List() : null; - private string prefix; + private string _uploadIdMarker; /// /// Gets and sets the property BucketName. @@ -60,132 +68,210 @@ internal bool IsSetBucketName() } /// - /// The key at or after which the listing began. - /// + /// Gets and sets the property CommonPrefixes. + /// + /// If you specify a delimiter in the request, then the result returns each distinct key + /// prefix containing the delimiter in a CommonPrefixes element. The distinct key + /// prefixes are returned in the Prefix child element. + /// + /// + /// + /// Directory buckets - For directory buckets, only prefixes that end in a delimiter + /// (/) are supported. + /// + /// + /// + /// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned + /// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller + /// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous + /// SDK behavior set the AWSConfigs.InitializeCollections static property to true. /// - public string KeyMarker + public List CommonPrefixes { - get { return this.keyMarker; } - set { this.keyMarker = value; } + get { return this._commonPrefixes; } + set { this._commonPrefixes = value; } } - // Check to see if KeyMarker property is set - internal bool IsSetKeyMarker() + // Check to see if CommonPrefixes property is set + internal bool IsSetCommonPrefixes() { - return this.keyMarker != null; + return this._commonPrefixes != null && (this._commonPrefixes.Count > 0 || !AWSConfigs.InitializeCollections); } /// - /// Gets and sets the property UploadIdMarker. + /// Gets and sets the property Delimiter. /// - /// Together with key-marker, specifies the multipart upload after which listing should - /// begin. If key-marker is not specified, the upload-id-marker parameter is ignored. - /// Otherwise, any multipart uploads for a key equal to the key-marker might be included - /// in the list only if they have an upload ID lexicographically greater than the specified - /// upload-id-marker. + /// Contains the delimiter you specified in the request. If you don't specify a delimiter + /// in your request, this element is absent from the response. /// /// /// - /// This functionality is not supported for directory buckets. + /// Directory buckets - For directory buckets, / is the only supported + /// delimiter. /// /// /// - public string UploadIdMarker + public string Delimiter { - get { return this.uploadIdMarker; } - set { this.uploadIdMarker = value; } + get { return this._delimiter; } + set { this._delimiter = value; } } - // Check to see if UploadIdMarker property is set - internal bool IsSetUploadIdMarker() + // Check to see if Delimiter property is set + internal bool IsSetDelimiter() { - return this.uploadIdMarker != null; + return this._delimiter != null; } /// - /// When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request. + /// Gets and sets the property EncodingType. + /// + /// Encoding type used by Amazon S3 to encode object keys in the response. + /// + /// + /// + /// If you specify the encoding-type request parameter, Amazon S3 includes this + /// element in the response, and returns encoded key name values in the following response + /// elements: + /// /// + /// + /// Delimiter, KeyMarker, Prefix, NextKeyMarker, Key. + /// /// - public string NextKeyMarker + public EncodingType EncodingType { - get { return this.nextKeyMarker; } - set { this.nextKeyMarker = value; } + get { return this._encodingType; } + set { this._encodingType = value; } } - // Check to see if NextKeyMarker property is set - internal bool IsSetNextKeyMarker() + // Check to see if EncodingType property is set + internal bool IsSetEncodingType() { - return this.nextKeyMarker != null; + return this._encodingType != null; } /// - /// Gets and sets the property NextUploadIdMarker. + /// Gets and sets the property IsTruncated. /// - /// When a list is truncated, this element specifies the value that should be used for - /// the upload-id-marker request parameter in a subsequent request. + /// Indicates whether the returned list of multipart uploads is truncated. A value of + /// true indicates that the list was truncated. The list can be truncated if the number + /// of multipart uploads exceeds the limit allowed or specified by max uploads. /// - /// + /// + public bool? IsTruncated + { + get { return this._isTruncated; } + set { this._isTruncated = value; } + } + + // Check to see if IsTruncated property is set + internal bool IsSetIsTruncated() + { + return this._isTruncated.HasValue; + } + + /// + /// Gets and sets the property KeyMarker. /// - /// This functionality is not supported for directory buckets. + /// The key at or after which the listing began. /// - /// /// - public string NextUploadIdMarker + public string KeyMarker { - get { return this.nextUploadIdMarker; } - set { this.nextUploadIdMarker = value; } + get { return this._keyMarker; } + set { this._keyMarker = value; } } - // Check to see if NextUploadIdMarker property is set - internal bool IsSetNextUploadIdMarker() + // Check to see if KeyMarker property is set + internal bool IsSetKeyMarker() { - return this.nextUploadIdMarker != null; + return this._keyMarker != null; } /// + /// Gets and sets the property MaxUploads. + /// /// Maximum number of multipart uploads that could have been included in the response. - /// + /// /// public int? MaxUploads { - get { return this.maxUploads; } - set { this.maxUploads = value; } + get { return this._maxUploads; } + set { this._maxUploads = value; } } // Check to see if MaxUploads property is set internal bool IsSetMaxUploads() { - return this.maxUploads.HasValue; + return this._maxUploads.HasValue; } /// - /// Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can - /// be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads. - /// + /// Gets and sets the property MultipartUploads. + /// + /// Container for elements related to a particular multipart upload. A response can contain + /// zero or more Upload elements. + /// + /// + /// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned + /// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller + /// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous + /// SDK behavior set the AWSConfigs.InitializeCollections static property to true. /// - public bool? IsTruncated + public List MultipartUploads { - get { return this.isTruncated; } - set { this.isTruncated = value; } + get { return this._multipartUploads; } + set { this._multipartUploads = value; } } - // Check to see if IsTruncated property is set - internal bool IsSetIsTruncated() + // Check to see if MultipartUploads property is set + internal bool IsSetMultipartUploads() { - return this.isTruncated.HasValue; + return this._multipartUploads != null && (this._multipartUploads.Count > 0 || !AWSConfigs.InitializeCollections); } /// - /// Gets and sets the MultipartUploads property. + /// Gets and sets the property NextKeyMarker. /// - /// Container for elements related to a particular multipart upload. A response - /// can contain zero or more Upload elements. + /// When a list is truncated, this element specifies the value that should be used for + /// the key-marker request parameter in a subsequent request. /// /// - public List MultipartUploads + public string NextKeyMarker { - get { return this.multipartUploads; } - set { this.multipartUploads = value; } + get { return this._nextKeyMarker; } + set { this._nextKeyMarker = value; } + } + + // Check to see if NextKeyMarker property is set + internal bool IsSetNextKeyMarker() + { + return this._nextKeyMarker != null; + } + + /// + /// Gets and sets the property NextUploadIdMarker. + /// + /// When a list is truncated, this element specifies the value that should be used for + /// the upload-id-marker request parameter in a subsequent request. + /// + /// + /// + /// This functionality is not supported for directory buckets. + /// + /// + /// + public string NextUploadIdMarker + { + get { return this._nextUploadIdMarker; } + set { this._nextUploadIdMarker = value; } + } + + // Check to see if NextUploadIdMarker property is set + internal bool IsSetNextUploadIdMarker() + { + return this._nextUploadIdMarker != null; } /// @@ -203,8 +289,14 @@ public List MultipartUploads /// public string Prefix { - get { return this.prefix; } - set { this.prefix = value; } + get { return this._prefix; } + set { this._prefix = value; } + } + + // Check to see if Prefix property is set + internal bool IsSetPrefix() + { + return this._prefix != null; } /// @@ -223,43 +315,31 @@ internal bool IsSetRequestCharged() } /// - /// Gets and sets the property Delimiter. + /// Gets and sets the property UploadIdMarker. /// - /// Contains the delimiter you specified in the request. If you don't specify a delimiter - /// in your request, this element is absent from the response. + /// Together with key-marker, specifies the multipart upload after which listing should + /// begin. If key-marker is not specified, the upload-id-marker parameter is ignored. + /// Otherwise, any multipart uploads for a key equal to the key-marker might be included + /// in the list only if they have an upload ID lexicographically greater than the specified + /// upload-id-marker. /// /// /// - /// Directory buckets - For directory buckets, / is the only supported - /// delimiter. + /// This functionality is not supported for directory buckets. /// /// /// - public string Delimiter + public string UploadIdMarker { - get { return this.delimiter; } - set { this.delimiter = value; } + get { return this._uploadIdMarker; } + set { this._uploadIdMarker = value; } } - /// - /// Gets and sets the property CommonPrefixes. - /// - /// If you specify a delimiter in the request, then the result returns each distinct key - /// prefix containing the delimiter in a CommonPrefixes element. The distinct - /// key prefixes are returned in the Prefix child element. - /// - /// - /// - /// Directory buckets - For directory buckets, only prefixes that end in a delimiter - /// (/) are supported. - /// - /// - /// - public List CommonPrefixes + // Check to see if UploadIdMarker property is set + internal bool IsSetUploadIdMarker() { - get { return this.commonPrefixes; } - set { this.commonPrefixes = value; } + return this._uploadIdMarker != null; } + } -} - +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/ListObjectsRequest.cs b/sdk/src/Services/S3/Generated/Model/ListObjectsRequest.cs similarity index 54% rename from sdk/src/Services/S3/Custom/Model/ListObjectsRequest.cs rename to sdk/src/Services/S3/Generated/Model/ListObjectsRequest.cs index 2f5cdd3c8510..a90c11b1939b 100644 --- a/sdk/src/Services/S3/Custom/Model/ListObjectsRequest.cs +++ b/sdk/src/Services/S3/Generated/Model/ListObjectsRequest.cs @@ -12,22 +12,28 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; +using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; +#pragma warning disable CS0612,CS0618,CS1570 namespace Amazon.S3.Model { /// /// Container for the parameters to the ListObjects operation. /// /// - /// This operation is not supported by directory buckets. + /// This operation is not supported for directory buckets. /// /// /// @@ -71,108 +77,118 @@ namespace Amazon.S3.Model /// ListBuckets /// /// - /// + /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if + /// your header value is my file.txt, containing two spaces after my, you + /// must URL encode this value to my%20%20file.txt. + /// + /// /// public partial class ListObjectsRequest : AmazonWebServiceRequest { - private string bucketName; - private string delimiter; - private EncodingType encoding; - private string expectedBucketOwner; - private string marker; - private int? maxKeys; + private string _bucketName; + private string _delimiter; + private EncodingType _encoding; + private string _expectedBucketOwner; + private string _marker; + private int? _maxKeys; private List _optionalObjectAttributes = AWSConfigs.InitializeCollections ? new List() : null; - private string prefix; - private RequestPayer requestPayer; + private string _prefix; + private RequestPayer _requestPayer; /// /// Gets and sets the property BucketName. /// /// The name of the bucket containing the objects. - /// - /// - /// Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the - /// format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not - /// supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow - /// the format bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). For - /// information about bucket naming restrictions, see - /// Directory bucket naming rules in - /// the Amazon S3 User Guide. - /// - /// - /// Access points - When you use this action with an access point for general purpose buckets, you must provide the alias of the access - /// point in place of the bucket name or specify the access point ARN. When you use this action with an access point for directory buckets, you - /// must provide the access point name in place of the bucket name. When using the access point ARN, you must direct requests to the access point - /// hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When - /// using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For - /// more information about access point ARNs, see - /// Using access points in the Amazon S3 User Guide. - /// - /// + /// + /// + /// + /// Directory buckets - When you use this operation with a directory bucket, you + /// must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. + /// Path-style requests are not supported. Directory bucket names must be unique in the + /// chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format + /// bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). + /// For information about bucket naming restrictions, see Directory + /// bucket naming rules in the Amazon S3 User Guide. + /// + /// + /// + /// Access points - When you use this action with an access point for general + /// purpose buckets, you must provide the alias of the access point in place of the bucket + /// name or specify the access point ARN. When you use this action with an access point + /// for directory buckets, you must provide the access point name in place of the bucket + /// name. When using the access point ARN, you must direct requests to the access point + /// hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. + /// When using this action with an access point through the Amazon Web Services SDKs, + /// you provide the access point ARN in place of the bucket name. For more information + /// about access point ARNs, see Using + /// access points in the Amazon S3 User Guide. + /// + /// /// /// Object Lambda access points are not supported by directory buckets. - /// - /// - /// - /// S3 on Outposts - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts - /// hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use - /// this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information - /// about S3 on Outposts, see - /// What is S3 on Outposts? in the Amazon S3 User Guide. + /// + /// + /// + /// S3 on Outposts - When you use this action with S3 on Outposts, you must direct + /// requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form + /// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. + /// When you use this action with S3 on Outposts, the destination bucket must be the Outposts + /// access point ARN or the access point alias. For more information about S3 on Outposts, + /// see What + /// is S3 on Outposts? in the Amazon S3 User Guide. /// /// + [AWSProperty(Required=true)] public string BucketName { - get { return this.bucketName; } - set { this.bucketName = value; } + get { return this._bucketName; } + set { this._bucketName = value; } } // Check to see if BucketName property is set internal bool IsSetBucketName() { - return this.bucketName != null; + return this._bucketName != null; } /// + /// Gets and sets the property Delimiter. + /// /// A delimiter is a character that you use to group keys. - /// - /// CommonPrefixes is filtered out from results if it is not lexicographically greater than the key-marker. + /// + /// + /// + /// CommonPrefixes is filtered out from results if it is not lexicographically + /// greater than the key-marker. /// /// public string Delimiter { - get { return this.delimiter; } - set { this.delimiter = value; } + get { return this._delimiter; } + set { this._delimiter = value; } } // Check to see if Delimiter property is set internal bool IsSetDelimiter() { - return this.delimiter != null; + return this._delimiter != null; } /// - /// Encoding type used by Amazon S3 to encode the - /// object keys - /// in the response. Responses are encoded only in UTF-8. An object key can contain any Unicode - /// character. However, the XML 1.0 parser can't parse certain characters, such as characters with an - /// ASCII value from 0 to 10. For characters that aren't supported in XML 1.0, you can add this parameter - /// to request that Amazon S3 encode the keys in the response. For more information about characters to avoid - /// in object key names, see Object key naming guidelines. - /// When using the URL encoding type, non-ASCII characters that are used in an object's - /// key name will be percent-encoded according to UTF-8 code values. For example, the object - /// test_file(3).png will appear as test_file%283%29.png. + /// Gets and sets the property Encoding. /// public EncodingType Encoding { - get { return this.encoding; } - set { this.encoding = value; } + get { return this._encoding; } + set { this._encoding = value; } } - // Check to see if DeleteMarker property is set + // Check to see if Encoding property is set internal bool IsSetEncoding() { - return this.encoding != null; + return this._encoding != null; } /// @@ -180,22 +196,19 @@ internal bool IsSetEncoding() /// /// The account ID of the expected bucket owner. If the account ID that you provide does /// not match the actual owner of the bucket, the request fails with the HTTP status code - /// 403 Forbidden (access denied). + /// 403 Forbidden (access denied). /// /// public string ExpectedBucketOwner { - get { return this.expectedBucketOwner; } - set { this.expectedBucketOwner = value; } + get { return this._expectedBucketOwner; } + set { this._expectedBucketOwner = value; } } - /// - /// Checks to see if ExpectedBucketOwner is set. - /// - /// true, if ExpectedBucketOwner property is set. + // Check to see if ExpectedBucketOwner property is set internal bool IsSetExpectedBucketOwner() { - return !String.IsNullOrEmpty(this.expectedBucketOwner); + return !String.IsNullOrEmpty(this._expectedBucketOwner); } /// @@ -207,34 +220,34 @@ internal bool IsSetExpectedBucketOwner() /// public string Marker { - get { return this.marker; } - set { this.marker = value; } + get { return this._marker; } + set { this._marker = value; } } // Check to see if Marker property is set internal bool IsSetMarker() { - return this.marker != null; + return this._marker != null; } /// /// Gets and sets the property MaxKeys. /// - /// Sets the maximum number of keys returned in the response. By default the action returns + /// Sets the maximum number of keys returned in the response. By default, the action returns /// up to 1,000 key names. The response might contain fewer keys but will never contain /// more. /// /// public int? MaxKeys { - get { return this.maxKeys; } - set { this.maxKeys = value; } + get { return this._maxKeys; } + set { this._maxKeys = value; } } // Check to see if MaxKeys property is set internal bool IsSetMaxKeys() { - return this.maxKeys.HasValue; + return this._maxKeys.HasValue; } /// @@ -243,6 +256,11 @@ internal bool IsSetMaxKeys() /// Specifies the optional fields that you want returned in the response. Fields that /// you do not specify are not returned. /// + /// + /// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned + /// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller + /// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous + /// SDK behavior set the AWSConfigs.InitializeCollections static property to true. /// public List OptionalObjectAttributes { @@ -257,18 +275,21 @@ internal bool IsSetOptionalObjectAttributes() } /// + /// Gets and sets the property Prefix. + /// /// Limits the response to keys that begin with the specified prefix. + /// /// public string Prefix { - get { return this.prefix; } - set { this.prefix = value; } + get { return this._prefix; } + set { this._prefix = value; } } // Check to see if Prefix property is set internal bool IsSetPrefix() { - return this.prefix != null; + return this._prefix != null; } /// @@ -280,19 +301,15 @@ internal bool IsSetPrefix() /// public RequestPayer RequestPayer { - get { return this.requestPayer; } - set { this.requestPayer = value; } + get { return this._requestPayer; } + set { this._requestPayer = value; } } - /// - /// Checks to see if RequetsPayer is set. - /// - /// true, if RequestPayer property is set. + // Check to see if RequestPayer property is set internal bool IsSetRequestPayer() { - return requestPayer != null; + return this._requestPayer != null; } } -} - +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/ListObjectsResponse.cs b/sdk/src/Services/S3/Generated/Model/ListObjectsResponse.cs new file mode 100644 index 000000000000..78877bd1e7ce --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/ListObjectsResponse.cs @@ -0,0 +1,307 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +#pragma warning disable CS0612,CS0618,CS1570 +namespace Amazon.S3.Model +{ + /// + /// This is the response object from the ListObjects operation. + /// + public partial class ListObjectsResponse : AmazonWebServiceResponse + { + private List _commonPrefixes = AWSConfigs.InitializeCollections ? new List() : null; + private string _delimiter; + private EncodingType _encoding; + private bool? _isTruncated; + private string _marker; + private int? _maxKeys; + private string _name; + private string _nextMarker; + private string _prefix; + private RequestCharged _requestCharged; + private List _s3Objects = AWSConfigs.InitializeCollections ? new List() : null; + + /// + /// Gets and sets the property CommonPrefixes. + /// + /// All of the keys (up to 1,000) rolled up in a common prefix count as a single return + /// when calculating the number of returns. + /// + /// + /// + /// A response can contain CommonPrefixes only if you specify a delimiter. + /// + /// + /// + /// CommonPrefixes contains all (if there are any) keys between Prefix + /// and the next occurrence of the string specified by the delimiter. + /// + /// + /// + /// CommonPrefixes lists keys that act like subdirectories in the directory specified + /// by Prefix. + /// + /// + /// + /// For example, if the prefix is notes/ and the delimiter is a slash (/), + /// as in notes/summer/july, the common prefix is notes/summer/. All of + /// the keys that roll up into a common prefix count as a single return when calculating + /// the number of returns. + /// + /// + /// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned + /// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller + /// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous + /// SDK behavior set the AWSConfigs.InitializeCollections static property to true. + /// + public List CommonPrefixes + { + get { return this._commonPrefixes; } + set { this._commonPrefixes = value; } + } + + // Check to see if CommonPrefixes property is set + internal bool IsSetCommonPrefixes() + { + return this._commonPrefixes != null && (this._commonPrefixes.Count > 0 || !AWSConfigs.InitializeCollections); + } + + /// + /// Gets and sets the property Delimiter. + /// + /// Causes keys that contain the same string between the prefix and the first occurrence + /// of the delimiter to be rolled up into a single result element in the CommonPrefixes + /// collection. These rolled-up keys are not returned elsewhere in the response. Each + /// rolled-up result counts as only one return against the MaxKeys value. + /// + /// + public string Delimiter + { + get { return this._delimiter; } + set { this._delimiter = value; } + } + + // Check to see if Delimiter property is set + internal bool IsSetDelimiter() + { + return this._delimiter != null; + } + + /// + /// Gets and sets the property Encoding. + /// + /// Encoding type used by Amazon S3 to encode the object + /// keys in the response. Responses are encoded only in UTF-8. An object key can contain + /// any Unicode character. However, the XML 1.0 parser can't parse certain characters, + /// such as characters with an ASCII value from 0 to 10. For characters that aren't supported + /// in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in + /// the response. For more information about characters to avoid in object key names, + /// see Object + /// key naming guidelines. + /// + /// + /// + /// When using the URL encoding type, non-ASCII characters that are used in an object's + /// key name will be percent-encoded according to UTF-8 code values. For example, the + /// object test_file(3).png will appear as test_file%283%29.png. + /// + /// + /// + public EncodingType Encoding + { + get { return this._encoding; } + set { this._encoding = value; } + } + + // Check to see if Encoding property is set + internal bool IsSetEncoding() + { + return this._encoding != null; + } + + /// + /// Gets and sets the property IsTruncated. + /// + /// A flag that indicates whether Amazon S3 returned all of the results that satisfied + /// the search criteria. + /// + /// + public bool? IsTruncated + { + get { return this._isTruncated; } + set { this._isTruncated = value; } + } + + // Check to see if IsTruncated property is set + internal bool IsSetIsTruncated() + { + return this._isTruncated.HasValue; + } + + /// + /// Gets and sets the property Marker. + /// + /// Indicates where in the bucket listing begins. Marker is included in the response if + /// it was sent with the request. + /// + /// + public string Marker + { + get { return this._marker; } + set { this._marker = value; } + } + + // Check to see if Marker property is set + internal bool IsSetMarker() + { + return this._marker != null; + } + + /// + /// Gets and sets the property MaxKeys. + /// + /// The maximum number of keys returned in the response body. + /// + /// + public int? MaxKeys + { + get { return this._maxKeys; } + set { this._maxKeys = value; } + } + + // Check to see if MaxKeys property is set + internal bool IsSetMaxKeys() + { + return this._maxKeys.HasValue; + } + + /// + /// Gets and sets the property Name. + /// + /// The bucket name. + /// + /// + public string Name + { + get { return this._name; } + set { this._name = value; } + } + + // Check to see if Name property is set + internal bool IsSetName() + { + return this._name != null; + } + + /// + /// Gets and sets the property NextMarker. + /// + /// When the response is truncated (the IsTruncated element value in the response + /// is true), you can use the key name in this field as the marker parameter + /// in the subsequent request to get the next set of objects. Amazon S3 lists objects + /// in alphabetical order. + /// + /// + /// + /// This element is returned only if you have the delimiter request parameter specified. + /// If the response does not include the NextMarker element and it is truncated, + /// you can use the value of the last Key element in the response as the marker + /// parameter in the subsequent request to get the next set of object keys. + /// + /// + /// + public string NextMarker + { + get { return NextMarkerCustomGetter(); } + set { this._nextMarker = value; } + } + + // Check to see if NextMarker property is set + internal bool IsSetNextMarker() + { + return this._nextMarker != null; + } + + /// + /// Gets and sets the property Prefix. + /// + /// Keys that begin with the indicated prefix. + /// + /// + public string Prefix + { + get { return this._prefix; } + set { this._prefix = value; } + } + + // Check to see if Prefix property is set + internal bool IsSetPrefix() + { + return this._prefix != null; + } + + /// + /// Gets and sets the property RequestCharged. + /// + public RequestCharged RequestCharged + { + get { return this._requestCharged; } + set { this._requestCharged = value; } + } + + // Check to see if RequestCharged property is set + internal bool IsSetRequestCharged() + { + return this._requestCharged != null; + } + + /// + /// Gets and sets the property S3Objects. + /// + /// Metadata about each object returned. + /// + /// + /// Starting with version 4 of the SDK this property will default to null. If no data for this property is returned + /// from the service the property will also be null. This was changed to improve performance and allow the SDK and caller + /// to distinguish between a property not set or a property being empty to clear out a value. To retain the previous + /// SDK behavior set the AWSConfigs.InitializeCollections static property to true. + /// + public List S3Objects + { + get { return this._s3Objects; } + set { this._s3Objects = value; } + } + + // Check to see if S3Objects property is set + internal bool IsSetS3Objects() + { + return this._s3Objects != null && (this._s3Objects.Count > 0 || !AWSConfigs.InitializeCollections); + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/MultipartUpload.cs b/sdk/src/Services/S3/Generated/Model/MultipartUpload.cs similarity index 60% rename from sdk/src/Services/S3/Custom/Model/MultipartUpload.cs rename to sdk/src/Services/S3/Generated/Model/MultipartUpload.cs index 085cfdb37245..0bda0163dba8 100644 --- a/sdk/src/Services/S3/Custom/Model/MultipartUpload.cs +++ b/sdk/src/Services/S3/Generated/Model/MultipartUpload.cs @@ -12,27 +12,36 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; +using System.Net; +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +#pragma warning disable CS0612,CS0618,CS1570 namespace Amazon.S3.Model { /// - /// Container for elements related to a particular multipart upload. + /// Container for the MultipartUpload for the Amazon S3 object. /// - public class MultipartUpload + public partial class MultipartUpload { private ChecksumAlgorithm _checksumAlgorithm; - private string key; - private string uploadId; - private Owner owner; - private Initiator initiator; - private DateTime? initiated; - private S3StorageClass storageClass; - private ChecksumType checksumType; + private ChecksumType _checksumType; + private DateTime? _initiated; + private Initiator _initiator; + private string _key; + private Owner _owner; + private S3StorageClass _storageClass; + private string _uploadId; /// /// Gets and sets the property ChecksumAlgorithm. @@ -53,51 +62,78 @@ internal bool IsSetChecksumAlgorithm() } /// + /// Gets and sets the property ChecksumType. + /// + /// The checksum type that is used to calculate the object’s checksum value. For more + /// information, see Checking + /// object integrity in the Amazon S3 User Guide. + /// + /// + public ChecksumType ChecksumType + { + get { return this._checksumType; } + set { this._checksumType = value; } + } + + // Check to see if ChecksumType property is set + internal bool IsSetChecksumType() + { + return this._checksumType != null; + } + + /// + /// Gets and sets the property Initiated. + /// /// Date and time at which the multipart upload was initiated. - /// + /// /// public DateTime? Initiated { - get { return this.initiated; } - set { this.initiated = value; } + get { return this._initiated; } + set { this._initiated = value; } } // Check to see if Initiated property is set internal bool IsSetInitiated() { - return this.initiated.HasValue; + return this._initiated.HasValue; } /// + /// Gets and sets the property Initiator. + /// /// Identifies who initiated the multipart upload. - /// + /// /// public Initiator Initiator { - get { return this.initiator; } - set { this.initiator = value; } + get { return this._initiator; } + set { this._initiator = value; } } // Check to see if Initiator property is set internal bool IsSetInitiator() { - return this.initiator != null; + return this._initiator != null; } /// + /// Gets and sets the property Key. + /// /// Key of the object for which the multipart upload was initiated. - /// + /// /// + [AWSProperty(Min=1)] public string Key { - get { return this.key; } - set { this.key = value; } + get { return this._key; } + set { this._key = value; } } // Check to see if Key property is set internal bool IsSetKey() { - return this.key != null; + return this._key != null; } /// @@ -114,14 +150,14 @@ internal bool IsSetKey() /// public Owner Owner { - get { return this.owner; } - set { this.owner = value; } + get { return this._owner; } + set { this._owner = value; } } // Check to see if Owner property is set internal bool IsSetOwner() { - return this.owner != null; + return this._owner != null; } /// @@ -131,60 +167,41 @@ internal bool IsSetOwner() /// /// /// - /// Directory buckets - Only the S3 Express One Zone storage class is supported - /// by directory buckets to store objects. + /// Directory buckets - Directory buckets only support EXPRESS_ONEZONE + /// (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA + /// (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones. /// /// /// public S3StorageClass StorageClass { - get { return this.storageClass; } - set { this.storageClass = value; } + get { return this._storageClass; } + set { this._storageClass = value; } } // Check to see if StorageClass property is set internal bool IsSetStorageClass() { - return this.storageClass != null; + return this._storageClass != null; } /// + /// Gets and sets the property UploadId. + /// /// Upload ID that identifies the multipart upload. - /// + /// /// public string UploadId { - get { return this.uploadId; } - set { this.uploadId = value; } + get { return this._uploadId; } + set { this._uploadId = value; } } // Check to see if UploadId property is set internal bool IsSetUploadId() { - return this.uploadId != null; - } - - /// - /// Gets and sets the property ChecksumType. - /// - /// The checksum type that is used to calculate the object's checksum value. - /// For more information, see - /// Checking object integrity in the Amazon S3 User Guide. - /// - /// - public ChecksumType ChecksumType - { - get { return this.checksumType; } - set { this.checksumType = value; } + return this._uploadId != null; } - /// - /// Checks to see if ChecksumType is set. - /// - /// true, if ChecksumType property is set. - internal bool IsSetChecksumType() - { - return checksumType != null; - } } -} +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/UpdateBucketMetadataJournalTableConfigurationRequest.cs b/sdk/src/Services/S3/Generated/Model/UpdateBucketMetadataJournalTableConfigurationRequest.cs new file mode 100644 index 000000000000..d95379e2a42c --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/UpdateBucketMetadataJournalTableConfigurationRequest.cs @@ -0,0 +1,181 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +#pragma warning disable CS0612,CS0618,CS1570 +namespace Amazon.S3.Model +{ + /// + /// Container for the parameters to the UpdateBucketMetadataJournalTableConfiguration operation. + /// Enables or disables journal table record expiration for an S3 Metadata configuration + /// on a general purpose bucket. For more information, see Accelerating + /// data discovery with S3 Metadata in the Amazon S3 User Guide. + /// + ///
Permissions
+ /// + /// To use this operation, you must have the s3:UpdateBucketMetadataJournalTableConfiguration + /// permission. For more information, see Setting + /// up permissions for configuring metadata tables in the Amazon S3 User Guide. + /// + /// + ///
+ /// + /// The following operations are related to UpdateBucketMetadataJournalTableConfiguration: + /// + /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if + /// your header value is my file.txt, containing two spaces after my, you + /// must URL encode this value to my%20%20file.txt. + /// + /// + ///
+ public partial class UpdateBucketMetadataJournalTableConfigurationRequest : AmazonWebServiceRequest + { + private string _bucketName; + private ChecksumAlgorithm _checksumAlgorithm; + private string _contentMD5; + private string _expectedBucketOwner; + private JournalTableConfigurationUpdates _journalTableConfiguration; + + /// + /// Gets and sets the property BucketName. + /// + /// The general purpose bucket that corresponds to the metadata configuration that you + /// want to enable or disable journal table record expiration for. + /// + /// + [AWSProperty(Required=true)] + public string BucketName + { + get { return this._bucketName; } + set { this._bucketName = value; } + } + + // Check to see if BucketName property is set + internal bool IsSetBucketName() + { + return this._bucketName != null; + } + + /// + /// Gets and sets the property ChecksumAlgorithm. + /// + /// The checksum algorithm to use with your journal table configuration. + /// + /// + public ChecksumAlgorithm ChecksumAlgorithm + { + get { return this._checksumAlgorithm; } + set { this._checksumAlgorithm = value; } + } + + // Check to see if ChecksumAlgorithm property is set + internal bool IsSetChecksumAlgorithm() + { + return this._checksumAlgorithm != null; + } + + /// + /// Gets and sets the property ContentMD5. + /// + /// The Content-MD5 header for the journal table configuration. + /// + /// + public string ContentMD5 + { + get { return this._contentMD5; } + set { this._contentMD5 = value; } + } + + // Check to see if ContentMD5 property is set + internal bool IsSetContentMD5() + { + return !String.IsNullOrEmpty(this._contentMD5); + } + + /// + /// Gets and sets the property ExpectedBucketOwner. + /// + /// The expected owner of the general purpose bucket that corresponds to the metadata + /// table configuration that you want to enable or disable journal table record expiration + /// for. + /// + /// + public string ExpectedBucketOwner + { + get { return this._expectedBucketOwner; } + set { this._expectedBucketOwner = value; } + } + + // Check to see if ExpectedBucketOwner property is set + internal bool IsSetExpectedBucketOwner() + { + return !String.IsNullOrEmpty(this._expectedBucketOwner); + } + + /// + /// Gets and sets the property JournalTableConfiguration. + /// + /// The contents of your journal table configuration. + /// + /// + [AWSProperty(Required=true)] + public JournalTableConfigurationUpdates JournalTableConfiguration + { + get { return this._journalTableConfiguration; } + set { this._journalTableConfiguration = value; } + } + + // Check to see if JournalTableConfiguration property is set + internal bool IsSetJournalTableConfiguration() + { + return this._journalTableConfiguration != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/UpdateBucketMetadataJournalTableConfigurationResponse.cs b/sdk/src/Services/S3/Generated/Model/UpdateBucketMetadataJournalTableConfigurationResponse.cs similarity index 69% rename from sdk/src/Services/S3/Custom/Model/UpdateBucketMetadataJournalTableConfigurationResponse.cs rename to sdk/src/Services/S3/Generated/Model/UpdateBucketMetadataJournalTableConfigurationResponse.cs index 90d6387bc10e..ecb12a6a61ac 100644 --- a/sdk/src/Services/S3/Custom/Model/UpdateBucketMetadataJournalTableConfigurationResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/UpdateBucketMetadataJournalTableConfigurationResponse.cs @@ -12,15 +12,28 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ + +/* + * Do not modify this file. This file is generated from the s3-2006-03-01.normal.json service model. + */ using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + using Amazon.Runtime; +using Amazon.Runtime.Internal; +#pragma warning disable CS0612,CS0618,CS1570 namespace Amazon.S3.Model { /// - /// This is the response returned by the UpdateBucketMetadataJournalTableConfiguration operation. + /// This is the response object from the UpdateBucketMetadataJournalTableConfiguration operation. /// public partial class UpdateBucketMetadataJournalTableConfigurationResponse : AmazonWebServiceResponse { + } } \ No newline at end of file