diff --git a/generator/.DevConfigs/4e80601b-3892-41e2-bff8-7c3ef4c78b56.json b/generator/.DevConfigs/4e80601b-3892-41e2-bff8-7c3ef4c78b56.json new file mode 100644 index 000000000000..af20478f532d --- /dev/null +++ b/generator/.DevConfigs/4e80601b-3892-41e2-bff8-7c3ef4c78b56.json @@ -0,0 +1,18 @@ +{ + "core": { + "changeLogMessages": [ + "refactor generator to reduce duplication by splitting logic into methods." + ], + "type": "patch", + "updateMinimum": true + }, + "services": [ + { + "serviceName": "S3", + "type": "patch", + "changeLogMessages": [ + "Generate GetBucketAccelerate, PutBucketEncryption, GetBucketEncryption." + ] + } + ] +} \ No newline at end of file diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.cs b/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.cs index 774d0d79fcca..1cdf37eeaac1 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.cs +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.cs @@ -19,7 +19,7 @@ namespace ServiceClientGenerator.Generators.Marshallers /// Class to produce the template output /// - #line 1 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 1 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")] public partial class BaseResponseUnmarshaller : Generators.BaseGenerator { @@ -33,7 +33,7 @@ public override string TransformText() return this.GenerationEnvironment.ToString(); } - #line 8 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 8 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" protected void GenerateAWSQueryCompatibleBlock() { @@ -42,7 +42,7 @@ protected void GenerateAWSQueryCompatibleBlock() #line default #line hidden - #line 11 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 11 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(@" var errorCode = errorResponse.Code; var errorType = errorResponse.Type; var queryHeaderKey = Amazon.Util.HeaderKeys.XAmzQueryError; @@ -69,7 +69,7 @@ protected void GenerateAWSQueryCompatibleBlock() #line default #line hidden - #line 32 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 32 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } @@ -77,7 +77,7 @@ protected void GenerateAWSQueryCompatibleBlock() #line default #line hidden - #line 36 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 36 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" protected void AddCommonUsingStatements() { @@ -86,7 +86,7 @@ protected void AddCommonUsingStatements() #line default #line hidden - #line 39 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 39 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("using System;\r\nusing System.Collections.Generic;\r\nusing System.Globalization;\r\nus" + "ing System.IO;\r\nusing System.Net;\r\nusing System.Text;\r\nusing System.Xml.Serializ" + "ation;\r\n\r\nusing "); @@ -95,14 +95,14 @@ protected void AddCommonUsingStatements() #line default #line hidden - #line 48 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 48 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.Namespace)); #line default #line hidden - #line 48 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 48 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Model;\r\nusing Amazon.Runtime;\r\nusing Amazon.Runtime.Internal;\r\nusing Amazon.Runt" + "ime.Internal.Transform;\r\nusing Amazon.Runtime.Internal.Util;\r\n"); @@ -110,7 +110,7 @@ protected void AddCommonUsingStatements() #line default #line hidden - #line 53 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 53 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } @@ -167,49 +167,49 @@ protected void AddResponseSingletonMethod() #line default #line hidden - #line 104 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 104 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" private static "); #line default #line hidden - #line 105 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 105 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 105 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 105 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("ResponseUnmarshaller _instance = new "); #line default #line hidden - #line 105 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 105 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 105 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 105 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("ResponseUnmarshaller(); \r\n\r\n\t\tinternal static "); #line default #line hidden - #line 107 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 107 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 107 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 107 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("ResponseUnmarshaller GetInstance()\r\n\t\t{\r\n\t\t\treturn _instance;\r\n\t\t}\r\n\r\n ///" + " \r\n /// Gets the singleton.\r\n /// \r\n\t\tpublic " + "static "); @@ -218,14 +218,14 @@ protected void AddResponseSingletonMethod() #line default #line hidden - #line 115 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 115 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 115 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 115 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("ResponseUnmarshaller Instance\r\n\t\t{\r\n\t\t\tget\r\n\t\t\t{\r\n\t\t\t\treturn _instance;\r\n\t\t\t}\r\n\t\t" + "}\r\n\r\n"); @@ -233,7 +233,7 @@ protected void AddResponseSingletonMethod() #line default #line hidden - #line 123 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 123 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } @@ -244,35 +244,35 @@ protected void AddStructureSingletonMethod() #line default #line hidden - #line 128 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 128 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" private static "); #line default #line hidden - #line 129 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 129 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 129 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 129 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("Unmarshaller _instance = new "); #line default #line hidden - #line 129 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 129 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 129 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 129 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("Unmarshaller(); \r\n\r\n /// \r\n /// Gets the singleton." + "\r\n /// \r\n\t\tpublic static "); @@ -280,21 +280,21 @@ protected void AddStructureSingletonMethod() #line default #line hidden - #line 134 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 134 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.UnmarshallerBaseName)); #line default #line hidden - #line 134 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 134 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("Unmarshaller Instance\r\n\t\t{\r\n\t\t\tget\r\n\t\t\t{\r\n\t\t\t\treturn _instance;\r\n\t\t\t}\r\n\t\t}\r\n"); #line default #line hidden - #line 141 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 141 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } @@ -313,28 +313,28 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 154 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 154 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t//Map of headers with prefix \""); #line default #line hidden - #line 155 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 155 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 155 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 155 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".\r\n"); #line default #line hidden - #line 156 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 156 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" // Dictionary if (member.ModelShape.ValueShape.IsString) @@ -344,182 +344,182 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 160 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 160 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" var headersFor"); #line default #line hidden - #line 161 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 161 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 161 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 161 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = new Dictionary();\r\n\t\t\tforeach (var name"); #line default #line hidden - #line 162 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 162 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 162 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 162 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" in context.ResponseData.GetHeaderNames())\r\n\t\t\t{\r\n\t\t\t\tvar keyToUse = name"); #line default #line hidden - #line 164 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 164 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 164 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 164 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n\t\t\t\tif(\""); #line default #line hidden - #line 165 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 165 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 165 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 165 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length > 0 && keyToUse.StartsWith(\""); #line default #line hidden - #line 165 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 165 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 165 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 165 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\")) {\r\n\t\t\t\t\tkeyToUse = keyToUse.Substring(\""); #line default #line hidden - #line 166 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 166 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 166 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 166 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (context.ResponseData.IsHeaderPresent($\""); #line default #line hidden - #line 169 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 169 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 169 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 169 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\"))\r\n\t\t\t\t{\r\n\t\t\t\t\theadersFor"); #line default #line hidden - #line 171 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 171 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 171 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 171 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Add(\r\n\t\t\t\t\t\tkeyToUse,\r\n\t\t\t\t\t\tcontext.ResponseData.GetHeaderValue($\""); #line default #line hidden - #line 173 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 173 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 173 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 173 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\")\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(headersFor"); #line default #line hidden - #line 177 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 177 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 177 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 177 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Count > 0)\r\n\t\t\t\tresponse."); #line default #line hidden - #line 178 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 178 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 178 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 178 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = headersFor"); #line default #line hidden - #line 178 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 178 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 178 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 178 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n"); #line default #line hidden - #line 179 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 179 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } // Dictionary> @@ -530,182 +530,182 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 184 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 184 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t var headersFor"); #line default #line hidden - #line 185 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 185 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 185 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 185 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = new Dictionary>();\r\n\t\t\tforeach (var name"); #line default #line hidden - #line 186 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 186 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 186 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 186 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" in context.ResponseData.GetHeaderNames())\r\n\t\t\t{\r\n\t\t\t\tvar keyToUse = name"); #line default #line hidden - #line 188 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 188 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 188 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 188 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n\t\t\t\tif(\""); #line default #line hidden - #line 189 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 189 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 189 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 189 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length > 0 && keyToUse.StartsWith(\""); #line default #line hidden - #line 189 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 189 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 189 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 189 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\")) {\r\n\t\t\t\t\tkeyToUse = keyToUse.Substring(\""); #line default #line hidden - #line 190 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 190 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 190 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 190 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (context.ResponseData.IsHeaderPresent($\""); #line default #line hidden - #line 193 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 193 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 193 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 193 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\"))\r\n\t\t\t\t{\r\n\t\t\t\t\theadersFor"); #line default #line hidden - #line 195 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 195 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 195 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 195 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Add(\r\n\t\t\t\t\t\tkeyToUse,\r\n\t\t\t\t\t\tcontext.ResponseData.GetHeaderValue($\""); #line default #line hidden - #line 197 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 197 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 197 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 197 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\").Split(\',\').ToList()\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(headersFor"); #line default #line hidden - #line 201 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 201 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 201 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 201 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Count > 0)\r\n\t\t\t\tresponse."); #line default #line hidden - #line 202 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 202 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 202 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 202 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = headersFor"); #line default #line hidden - #line 202 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 202 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 202 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 202 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n"); #line default #line hidden - #line 203 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 203 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -717,7 +717,7 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 210 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 210 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" continue; } @@ -726,28 +726,28 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 213 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 213 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\tif (context.ResponseData.IsHeaderPresent(\""); #line default #line hidden - #line 214 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 214 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 214 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 214 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"))\r\n"); #line default #line hidden - #line 215 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 215 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" if (member.Shape.IsString) { @@ -758,7 +758,7 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 220 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 220 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t{\r\n\t\t\t\tvar headerBytes = Convert.FromBase64String(context.ResponseData.GetHead" + "erValue(\""); @@ -766,35 +766,35 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 222 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 222 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 222 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 222 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"));\r\n\t\t\t\tresponse."); #line default #line hidden - #line 223 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 223 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 223 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 223 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = Encoding.UTF8.GetString(headerBytes, 0, headerBytes.Length);\r\n\t\t\t}\r\n"); #line default #line hidden - #line 225 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 225 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -804,42 +804,42 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 229 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 229 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 230 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 230 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 230 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 230 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = context.ResponseData.GetHeaderValue(\""); #line default #line hidden - #line 230 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 230 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 230 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 230 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\");\r\n"); #line default #line hidden - #line 231 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 231 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } } @@ -850,28 +850,28 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 236 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 236 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t//Map of headers with prefix \""); #line default #line hidden - #line 237 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 237 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 237 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 237 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".\r\n\r\n"); #line default #line hidden - #line 239 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 239 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" // Dictionary if (member.ModelShape.ValueShape.IsString) @@ -881,182 +881,182 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 243 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 243 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" var headersFor"); #line default #line hidden - #line 244 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 244 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 244 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 244 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = new Dictionary();\r\n\t\t\tforeach (var name"); #line default #line hidden - #line 245 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 245 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 245 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 245 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" in context.ResponseData.GetHeaderNames())\r\n\t\t\t{\r\n\t\t\t\tvar keyToUse = name"); #line default #line hidden - #line 247 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 247 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 247 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 247 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n\t\t\t\tif(\""); #line default #line hidden - #line 248 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 248 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 248 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 248 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length > 0 && keyToUse.StartsWith(\""); #line default #line hidden - #line 248 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 248 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 248 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 248 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\")) {\r\n\t\t\t\t\tkeyToUse = keyToUse.Substring(\""); #line default #line hidden - #line 249 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 249 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 249 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 249 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (context.ResponseData.IsHeaderPresent($\""); #line default #line hidden - #line 252 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 252 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 252 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 252 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\"))\r\n\t\t\t\t{\r\n\t\t\t\t\theadersFor"); #line default #line hidden - #line 254 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 254 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 254 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 254 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Add(\r\n\t\t\t\t\t\tkeyToUse,\r\n\t\t\t\t\t\tcontext.ResponseData.GetHeaderValue($\""); #line default #line hidden - #line 256 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 256 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 256 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 256 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\")\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(headersFor"); #line default #line hidden - #line 260 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 260 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 260 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 260 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Count > 0)\r\n\t\t\t\tresponse."); #line default #line hidden - #line 261 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 261 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 261 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 261 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = headersFor"); #line default #line hidden - #line 261 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 261 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 261 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 261 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n"); #line default #line hidden - #line 262 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 262 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } // Dictionary> @@ -1067,182 +1067,182 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 267 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 267 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t var headersFor"); #line default #line hidden - #line 268 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 268 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 268 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 268 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = new Dictionary>();\r\n\t\t\tforeach (var name"); #line default #line hidden - #line 269 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 269 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 269 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 269 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" in context.ResponseData.GetHeaderNames())\r\n\t\t\t{\r\n\t\t\t\tvar keyToUse = name"); #line default #line hidden - #line 271 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 271 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 271 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 271 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n\t\t\t\tif(\""); #line default #line hidden - #line 272 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 272 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 272 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 272 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length > 0 && keyToUse.StartsWith(\""); #line default #line hidden - #line 272 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 272 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 272 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 272 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\")) {\r\n\t\t\t\t\tkeyToUse = keyToUse.Substring(\""); #line default #line hidden - #line 273 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 273 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 273 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 273 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\".Length);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (context.ResponseData.IsHeaderPresent($\""); #line default #line hidden - #line 276 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 276 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 276 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 276 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\"))\r\n\t\t\t\t{\r\n\t\t\t\t\theadersFor"); #line default #line hidden - #line 278 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 278 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 278 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 278 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Add(\r\n\t\t\t\t\t\tkeyToUse,\r\n\t\t\t\t\t\tcontext.ResponseData.GetHeaderValue($\""); #line default #line hidden - #line 280 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 280 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 280 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 280 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("{keyToUse}\").Split(\',\').ToList()\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(headersFor"); #line default #line hidden - #line 284 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 284 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 284 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 284 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Count > 0)\r\n\t\t\t\tresponse."); #line default #line hidden - #line 285 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 285 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 285 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 285 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = headersFor"); #line default #line hidden - #line 285 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 285 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 285 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 285 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(";\r\n"); #line default #line hidden - #line 286 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 286 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -1254,7 +1254,7 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 294 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 294 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else if (member.Shape.IsList) @@ -1270,42 +1270,42 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 304 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 304 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 305 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 305 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 305 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 305 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = MultiValueHeaderParser.ToStringList(context.ResponseData.GetHeaderValue(\""); #line default #line hidden - #line 305 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 305 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 305 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 305 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"));\r\n"); #line default #line hidden - #line 306 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 306 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else if(member.Shape.ListShape.IsTimeStamp) @@ -1318,56 +1318,56 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 313 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 313 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 314 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 314 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 314 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 314 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = MultiValueHeaderParser.ToDateTimeList(context.ResponseData.GetHeaderValue(\""); #line default #line hidden - #line 314 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 314 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 314 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 314 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"), \""); #line default #line hidden - #line 314 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 314 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(timestampFormat)); #line default #line hidden - #line 314 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 314 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\");\r\n"); #line default #line hidden - #line 315 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 315 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -1383,56 +1383,56 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 325 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 325 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 326 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 326 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 326 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 326 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = MultiValueHeaderParser.ToValueTypeList<"); #line default #line hidden - #line 326 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 326 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.Shape.ListShape.GetPrimitiveType().ToLower())); #line default #line hidden - #line 326 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 326 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(">(context.ResponseData.GetHeaderValue(\""); #line default #line hidden - #line 326 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 326 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 326 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 326 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"));\r\n"); #line default #line hidden - #line 327 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 327 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -1450,35 +1450,35 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 339 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 339 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 340 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 340 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 340 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 340 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = DateTime.Parse(context.ResponseData.GetHeaderValue(\""); #line default #line hidden - #line 340 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 340 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 340 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 340 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"), CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles" + ".AdjustToUniversal);\r\n"); @@ -1486,7 +1486,7 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 341 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 341 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else if(member.TimestampFormat == TimestampFormat.UnixTimestamp) @@ -1496,21 +1496,21 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 345 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 345 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 346 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 346 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 346 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 346 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = Amazon.Util.AWSSDKUtils.ConvertFromUnixEpochSeconds(int.Parse(context.Response" + "Data.GetHeaderValue(\""); @@ -1518,21 +1518,21 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 346 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 346 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 346 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 346 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\"), CultureInfo.InvariantCulture));\r\n"); #line default #line hidden - #line 347 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 347 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -1547,77 +1547,77 @@ protected void UnmarshallHeaders() #line default #line hidden - #line 356 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 356 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\t\tresponse."); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = "); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.Shape.GetPrimitiveType().ToLower())); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(".Parse(context.ResponseData.GetHeaderValue(\""); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallLocationName)); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\")"); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture((member.Shape.IsBoolean)?"":", CultureInfo.InvariantCulture")); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture((!member.Shape.IsTimeStamp)?"":", DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal")); #line default #line hidden - #line 357 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 357 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(");\r\n"); #line default #line hidden - #line 358 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 358 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } else @@ -1638,28 +1638,28 @@ protected void ProcessStatusCode() #line default #line hidden - #line 373 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 373 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write("\t\t\tresponse."); #line default #line hidden - #line 374 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 374 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Operation.ResponseStatusCodeMember.PropertyName)); #line default #line hidden - #line 374 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 374 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" this.Write(" = (int)context.ResponseData.StatusCode;\r\n"); #line default #line hidden - #line 375 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 375 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" } } @@ -1668,7 +1668,7 @@ protected void ProcessStatusCode() #line default #line hidden - #line 379 "C:\Dev\worktrees\fixdatetimes\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + #line 379 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" /* The rules for determining the marshallName for xml-based services is different than json services. Xml based services are defined as any service which marshalls/unmarshalls an xml document. This includes AWSQueryResponse, @@ -1680,7 +1680,8 @@ 3. Use the name of the member's target protected string DetermineXmlMarshallName(Member member, bool withPrefix = true) { var locationName = member.data[ServiceModel.LocationNameKey]; - if (locationName == null) + // operation can be null if we're determining the xml marshall name for a structure + if (locationName == null && this.Operation != null) { var payload = this.Operation.ResponsePayloadMember; var shouldMarshallPayload = (payload != null && payload.IsStructure); @@ -1695,16 +1696,657 @@ protected string DetermineXmlMarshallName(Member member, bool withPrefix = true) return colonIndex != -1 ? locationNameString.Substring(colonIndex + 1) : locationNameString; } // the locationName and modeled name must only be different for those members which are marshalled on the body. - if (!string.Equals(locationName.ToString(), member.ModeledName, StringComparison.Ordinal) || member.MarshallLocation != MarshallLocation.Body) - { - return locationName.ToString(); - } + // S3 / S3 Control don't seem to follow this rule where the location name is used only if it doesn't match the member's name. + if (locationName != null) + { + if (this.Config.ServiceId == "S3" || this.Config.ServiceId == "S3 Control" || !string.Equals(locationName.ToString(), member.ModeledName, StringComparison.Ordinal) || member.MarshallLocation != MarshallLocation.Body) + { + return locationName.ToString(); + } + } + + // some structure members do not have a locationName. + // so if we get to this point, it is guaranteed that the marshall name we are determining is for a + // member of a structure. For a member of a structure the marshall name is straightforward. + if (locationName == null) + { + return member.MarshallName; + } var memberTarget = member.Shape.data[ServiceModel.LocationNameKey]; return memberTarget != null ? memberTarget.ToString() : member.Shape.Name; } + #line default + #line hidden + + #line 428 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + +/// Only to be used by rest-xml response unmarshallers + protected void ProcessResponseBodyOrStructureMembers(Member member, bool isStructure) + { + string unmarshalledVariable = isStructure ? "unmarshalledObject" : "response"; + if (member.Shape.IsList) + { + var listMarshallName = member.Shape.ListMarshallName ?? "member"; + + if (member.IsFlattened || member.Shape.IsFlattened) + { + + + #line default + #line hidden + + #line 439 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\t\t\t\t\tif (context.TestExpression(\""); + + + #line default + #line hidden + + #line 440 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); + + + #line default + #line hidden + + #line 440 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n if ("); + + + #line default + #line hidden + + #line 442 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 442 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 442 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 442 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" == null)\r\n {\r\n "); + + + #line default + #line hidden + + #line 444 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 444 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 444 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 444 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" = new "); + + + #line default + #line hidden + + #line 444 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); + + + #line default + #line hidden + + #line 444 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("();\r\n }\r\n\t\t\t\t\t\tvar unmarshaller = "); + + + #line default + #line hidden + + #line 446 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); + + + #line default + #line hidden + + #line 446 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(";\r\n\t\t\t\t\t\t"); + + + #line default + #line hidden + + #line 447 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 447 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 447 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 447 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); + + + #line default + #line hidden + + #line 450 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + else + { + + + #line default + #line hidden + + #line 454 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\t\t\t\t if (context.TestExpression(\""); + + + #line default + #line hidden + + #line 455 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); + + + #line default + #line hidden + + #line 455 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("/"); + + + #line default + #line hidden + + #line 455 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(listMarshallName)); + + + #line default + #line hidden + + #line 455 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\", targetDepth))\r\n\t\t\t\t {\r\n if ("); + + + #line default + #line hidden + + #line 457 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 457 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 457 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 457 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" == null)\r\n {\r\n "); + + + #line default + #line hidden + + #line 459 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 459 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 459 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 459 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" = new "); + + + #line default + #line hidden + + #line 459 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); + + + #line default + #line hidden + + #line 459 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("();\r\n }\r\n\t\t\t\t\t var unmarshaller = "); + + + #line default + #line hidden + + #line 461 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); + + + #line default + #line hidden + + #line 461 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(";\r\n\t\t\t\t\t "); + + + #line default + #line hidden + + #line 462 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 462 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 462 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 462 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t continue;\r\n\t\t\t\t }\r\n"); + + + #line default + #line hidden + + #line 465 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + } + else if(member.Shape.IsMap) + { + if(member.IsFlattened) + { + + + #line default + #line hidden + + #line 472 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\t\t\t\t\tif (context.TestExpression(\""); + + + #line default + #line hidden + + #line 473 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); + + + #line default + #line hidden + + #line 473 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n if (response."); + + + #line default + #line hidden + + #line 475 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 475 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" == null)\r\n {\r\n response."); + + + #line default + #line hidden + + #line 477 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 477 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" = new "); + + + #line default + #line hidden + + #line 477 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); + + + #line default + #line hidden + + #line 477 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("();\r\n }\r\n\t\t\t\t\t\tvar unmarshaller = "); + + + #line default + #line hidden + + #line 479 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); + + + #line default + #line hidden + + #line 479 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(";\r\n\t\t\t\t\t\t"); + + + #line default + #line hidden + + #line 480 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 480 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 480 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 480 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); + + + #line default + #line hidden + + #line 483 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + else + { + + + #line default + #line hidden + + #line 487 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\t\t\t\t\tif (context.TestExpression(\""); + + + #line default + #line hidden + + #line 488 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); + + + #line default + #line hidden + + #line 488 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar unmarshaller = "); + + + #line default + #line hidden + + #line 490 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); + + + #line default + #line hidden + + #line 490 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(";\r\n\t\t\t\t\t\t"); + + + #line default + #line hidden + + #line 491 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 491 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 491 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 491 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" = unmarshaller.Unmarshall(context);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); + + + #line default + #line hidden + + #line 494 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + } + else + { + if (!member.IsXmlAttribute) + { + + + #line default + #line hidden + + #line 501 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\t\t\t\t\tif (context.TestExpression(\""); + + + #line default + #line hidden + + #line 502 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); + + + #line default + #line hidden + + #line 502 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\", targetDepth))\r\n"); + + + #line default + #line hidden + + #line 503 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + else + { + + + #line default + #line hidden + + #line 507 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" if (context.TestExpression(\"@"); + + + #line default + #line hidden + + #line 508 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member, false))); + + + #line default + #line hidden + + #line 508 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\", targetDepth - 1))\r\n\r\n"); + + + #line default + #line hidden + + #line 510 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + + + #line default + #line hidden + + #line 512 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("\t\t\t\t\t{\r\n\t\t\t\t\t\tvar unmarshaller = "); + + + #line default + #line hidden + + #line 514 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); + + + #line default + #line hidden + + #line 514 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(";\r\n\t\t\t\t\t\t"); + + + #line default + #line hidden + + #line 515 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(unmarshalledVariable)); + + + #line default + #line hidden + + #line 515 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write("."); + + + #line default + #line hidden + + #line 515 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); + + + #line default + #line hidden + + #line 515 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" +this.Write(" = unmarshaller.Unmarshall(context);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); + + + #line default + #line hidden + + #line 518 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\BaseResponseUnmarshaller.tt" + + } + } + + #line default #line hidden } diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.tt b/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.tt index ee71762c112d..576ea4f70ac6 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.tt +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/BaseResponseUnmarshaller.tt @@ -387,7 +387,8 @@ using Amazon.Runtime.Internal.Util; protected string DetermineXmlMarshallName(Member member, bool withPrefix = true) { var locationName = member.data[ServiceModel.LocationNameKey]; - if (locationName == null) + // operation can be null if we're determining the xml marshall name for a structure + if (locationName == null && this.Operation != null) { var payload = this.Operation.ResponsePayloadMember; var shouldMarshallPayload = (payload != null && payload.IsStructure); @@ -402,12 +403,119 @@ using Amazon.Runtime.Internal.Util; return colonIndex != -1 ? locationNameString.Substring(colonIndex + 1) : locationNameString; } // the locationName and modeled name must only be different for those members which are marshalled on the body. - if (!string.Equals(locationName.ToString(), member.ModeledName, StringComparison.Ordinal) || member.MarshallLocation != MarshallLocation.Body) - { - return locationName.ToString(); - } + // S3 / S3 Control don't seem to follow this rule where the location name is used only if it doesn't match the member's name. + if (locationName != null) + { + if (this.Config.ServiceId == "S3" || this.Config.ServiceId == "S3 Control" || !string.Equals(locationName.ToString(), member.ModeledName, StringComparison.Ordinal) || member.MarshallLocation != MarshallLocation.Body) + { + return locationName.ToString(); + } + } + + // some structure members do not have a locationName. + // so if we get to this point, it is guaranteed that the marshall name we are determining is for a + // member of a structure. For a member of a structure the marshall name is straightforward. + if (locationName == null) + { + return member.MarshallName; + } var memberTarget = member.Shape.data[ServiceModel.LocationNameKey]; return memberTarget != null ? memberTarget.ToString() : member.Shape.Name; } #> + +<#+ +/// Only to be used by rest-xml response unmarshallers + protected void ProcessResponseBodyOrStructureMembers(Member member, bool isStructure) + { + string unmarshalledVariable = isStructure ? "unmarshalledObject" : "response"; + if (member.Shape.IsList) + { + var listMarshallName = member.Shape.ListMarshallName ?? "member"; + + if (member.IsFlattened || member.Shape.IsFlattened) + { +#> + if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) + { + if (<#=unmarshalledVariable#>.<#=member.PropertyName#> == null) + { + <#=unmarshalledVariable#>.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); + } + var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; + <#=unmarshalledVariable#>.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); + continue; + } +<#+ + } + else + { +#> + if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>/<#=listMarshallName#>", targetDepth)) + { + if (<#=unmarshalledVariable#>.<#=member.PropertyName#> == null) + { + <#=unmarshalledVariable#>.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); + } + var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; + <#=unmarshalledVariable#>.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); + continue; + } +<#+ + } + } + else if(member.Shape.IsMap) + { + if(member.IsFlattened) + { +#> + if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) + { + if (response.<#=member.PropertyName#> == null) + { + response.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); + } + var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; + <#=unmarshalledVariable#>.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); + continue; + } +<#+ + } + else + { +#> + if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) + { + var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; + <#=unmarshalledVariable#>.<#=member.PropertyName#> = unmarshaller.Unmarshall(context); + continue; + } +<#+ + } + } + else + { + if (!member.IsXmlAttribute) + { +#> + if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) +<#+ + } + else + { +#> + if (context.TestExpression("@<#=DetermineXmlMarshallName(member, false)#>", targetDepth - 1)) + +<#+ + } +#> + { + var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; + <#=unmarshalledVariable#>.<#=member.PropertyName#> = unmarshaller.Unmarshall(context); + continue; + } +<#+ + } + } +#> \ No newline at end of file diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.cs b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.cs index c19ad4eda9c4..204b38e05929 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.cs +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.cs @@ -1875,7 +1875,7 @@ void ProcessStructure(int level, string variableName, Member member) // Use shape's ListMarshallName if the structure is a list. var marshallName = member.Shape.IsList ? member.Shape.ListMarshallName ?? "member" : member.MarshallName; - if(member.IsFlattened) + if(member.Shape.IsFlattened || member.IsFlattened) marshallName = member.LocationName ?? member.ModeledName; @@ -2121,7 +2121,7 @@ void ProcessList(int level, string variableName, Member member) #line 427 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlRequestMarshaller.tt" - if (!member.IsFlattened) + if (!member.IsFlattened && !member.Shape.IsFlattened) { if (string.IsNullOrEmpty(member.XmlNamespace)) { @@ -2743,7 +2743,7 @@ void ProcessList(int level, string variableName, Member member) #line 530 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlRequestMarshaller.tt" - if (!member.IsFlattened) + if (!member.IsFlattened && !member.Shape.IsFlattened) { diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.tt b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.tt index 3f253f85bf48..e517734993b2 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.tt +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlRequestMarshaller.tt @@ -401,7 +401,7 @@ WriteXmlAttributeString(level + 1, member, variableName, isPayload: true, operat // Use shape's ListMarshallName if the structure is a list. var marshallName = member.Shape.IsList ? member.Shape.ListMarshallName ?? "member" : member.MarshallName; - if(member.IsFlattened) + if(member.Shape.IsFlattened || member.IsFlattened) marshallName = member.LocationName ?? member.ModeledName; #> <#=new string(' ', level * 4)#> if (<#=variableName#> != null) @@ -425,7 +425,7 @@ WriteXmlAttributeString(level + 1, member, variableName, isPayload: true, operat <#=new string(' ', level * 4)#> if (<#=listVariable#> != null && (<#=listVariable#>.Count > 0 || !AWSConfigs.InitializeCollections)) <#=new string(' ', level * 4)#> { <#+ - if (!member.IsFlattened) + if (!member.IsFlattened && !member.Shape.IsFlattened) { if (string.IsNullOrEmpty(member.XmlNamespace)) { @@ -528,7 +528,7 @@ WriteXmlAttributeString(level + 1, member, variableName, isPayload: true, operat #> <#=new string(' ', level * 4)#> } <#+ - if (!member.IsFlattened) + if (!member.IsFlattened && !member.Shape.IsFlattened) { #> <#=new string(' ', level * 4)#> xmlWriter.WriteEndElement(); diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.cs b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.cs index e12b248adc62..6c62758922f6 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.cs +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.cs @@ -288,308 +288,12 @@ public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext conte foreach (var member in this.Operation.ResponseBodyMembers) { - if (member.Shape.IsList) - { - var listMarshallName = member.Shape.ListMarshallName ?? "member"; - - if (member.IsFlattened || member.Shape.IsFlattened) - { - - - #line default - #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - - #line 145 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n if (response."); - - #line 147 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" == null)\r\n {\r\n response."); - - #line 149 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = new "); - - #line 149 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); - - #line default - #line hidden - this.Write("();\r\n }\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 151 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tresponse."); - - #line 152 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 155 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } - - - else - { - - - #line default - #line hidden - this.Write("\t\t\t\t if (context.TestExpression(\""); - - #line 162 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); - - #line default - #line hidden - this.Write("/"); - - #line 162 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(listMarshallName)); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n\t\t\t\t {\r\n if (response."); - - #line 164 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" == null)\r\n {\r\n response."); - - #line 166 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = new "); - - #line 166 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); - - #line default - #line hidden - this.Write("();\r\n }\r\n\t\t\t\t\t var unmarshaller = "); - - #line 168 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t response."); - - #line 169 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t continue;\r\n\t\t\t\t }\r\n"); - - #line 172 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } - } - else if(member.Shape.IsMap) - { - if(member.IsFlattened) - { - - - #line default - #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - - #line 180 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n if (response."); - - #line 182 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" == null)\r\n {\r\n response."); - - #line 184 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = new "); - - #line 184 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); - - #line default - #line hidden - this.Write("();\r\n }\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 186 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tresponse."); - - #line 187 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 190 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } - else - { - - - #line default - #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - - #line 195 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 197 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tresponse."); - - #line 198 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = unmarshaller.Unmarshall(context);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 201 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } - } - else - { - if (!member.IsXmlAttribute) - { - - - #line default - #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - - #line 209 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member))); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n"); - - #line 210 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } - else - { - - - #line default - #line hidden - this.Write(" if (context.TestExpression(\"@"); - - #line 215 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member, false))); - - #line default - #line hidden - this.Write("\", targetDepth - 1))\r\n"); - - #line 216 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } - - - #line default - #line hidden - this.Write("\t\t\t\t\t{\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 220 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tresponse."); - - #line 221 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = unmarshaller.Unmarshall(context);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 224 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - - } + ProcessResponseBodyOrStructureMembers(member, false); } if (shouldMarshallPayload) { - - - #line default - #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - - #line 231 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(payload))); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 233 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(payload.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tresponse."); - - #line 234 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(payload.PropertyName)); - - #line default - #line hidden - this.Write(" = unmarshaller.Unmarshall(context);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 237 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" - + ProcessResponseBodyOrStructureMembers(payload, false); } @@ -599,7 +303,7 @@ public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext conte "\r\n {\r\n return;\r\n }\r\n " + " }\r\n \r\n return;\r\n }\r\n"); - #line 249 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 155 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" } @@ -619,7 +323,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex { "); - #line 262 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 168 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" if (this.Config.ServiceId == "S3") { @@ -630,7 +334,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex this.Write(" S3ErrorResponse errorResponse = S3ErrorResponseUnmarshaller.Instance." + "Unmarshall(context);\r\n"); - #line 267 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 173 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" } else @@ -642,7 +346,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex this.Write(" ErrorResponse errorResponse = XmlErrorResponseUnmarshaller.GetInstanc" + "e().Unmarshall(context);\r\n"); - #line 273 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 179 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" } @@ -659,7 +363,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex { "); - #line 284 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 190 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" foreach (var exception in this.Operation.Exceptions) { @@ -669,14 +373,14 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex #line hidden this.Write(" if (errorResponse.Code != null && errorResponse.Code.Equals(\""); - #line 288 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 194 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(exception.Code)); #line default #line hidden this.Write("\"))\r\n {\r\n return "); - #line 290 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 196 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(exception.Name)); #line default @@ -684,7 +388,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex this.Write("Unmarshaller.Instance.Unmarshall(contextCopy, errorResponse);\r\n }\r" + "\n"); - #line 292 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 198 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" } @@ -693,7 +397,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex #line hidden this.Write(" }\r\n"); - #line 296 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 202 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" if (this.Config.ServiceId == "S3") { @@ -704,7 +408,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex this.Write(" return base.ConstructS3Exception(context, errorResponse, innerExcepti" + "on, statusCode);\r\n"); - #line 301 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 207 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" } else @@ -715,7 +419,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex #line hidden this.Write(" return new "); - #line 306 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 212 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.BaseException)); #line default @@ -723,7 +427,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex this.Write("(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, e" + "rrorResponse.RequestId, statusCode);\r\n"); - #line 307 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 213 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" } @@ -732,7 +436,7 @@ public override AmazonServiceException UnmarshallException(XmlUnmarshallerContex #line hidden this.Write(" }\r\n\r\n"); - #line 312 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" + #line 218 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlResponseUnmarshaller.tt" this.AddResponseSingletonMethod(); diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.tt b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.tt index 81596ec01147..a5d2fc9da6dc 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.tt +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlResponseUnmarshaller.tt @@ -135,106 +135,12 @@ namespace <#=this.Config.Namespace #>.Model.Internal.MarshallTransformations <# foreach (var member in this.Operation.ResponseBodyMembers) { - if (member.Shape.IsList) - { - var listMarshallName = member.Shape.ListMarshallName ?? "member"; - - if (member.IsFlattened || member.Shape.IsFlattened) - { -#> - if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) - { - if (response.<#=member.PropertyName#> == null) - { - response.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); - } - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - response.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); - continue; - } -<# - } - - - else - { -#> - if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>/<#=listMarshallName#>", targetDepth)) - { - if (response.<#=member.PropertyName#> == null) - { - response.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); - } - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - response.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); - continue; - } -<# - } - } - else if(member.Shape.IsMap) - { - if(member.IsFlattened) - { -#> - if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) - { - if (response.<#=member.PropertyName#> == null) - { - response.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); - } - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - response.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); - continue; - } -<# - } - else - { -#> - if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) - { - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - response.<#=member.PropertyName#> = unmarshaller.Unmarshall(context); - continue; - } -<# - } - } - else - { - if (!member.IsXmlAttribute) - { -#> - if (context.TestExpression("<#=DetermineXmlMarshallName(member)#>", targetDepth)) -<# - } - else - { -#> - if (context.TestExpression("@<#=DetermineXmlMarshallName(member, false)#>", targetDepth - 1)) -<# - } -#> - { - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - response.<#=member.PropertyName#> = unmarshaller.Unmarshall(context); - continue; - } -<# - } + ProcessResponseBodyOrStructureMembers(member, false); } if (shouldMarshallPayload) { -#> - if (context.TestExpression("<#=DetermineXmlMarshallName(payload)#>", targetDepth)) - { - var unmarshaller = <#=payload.DetermineTypeUnmarshallerInstantiate()#>; - response.<#=payload.PropertyName#> = unmarshaller.Unmarshall(context); - continue; - } -<# + ProcessResponseBodyOrStructureMembers(payload, false); } #> } diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.cs b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.cs index edb58da33d98..58139ad3056a 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.cs +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.cs @@ -177,129 +177,14 @@ public override string TransformText() // For every member, generate code to add the unmarshalled member to the response object foreach (var member in this.Structure.Members) { - if(member.Shape.IsList) - { - var listMarshallName = member.Shape.ListMarshallName ?? "member"; + ProcessResponseBodyOrStructureMembers(member, true); #line default #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - #line 77 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallName)); - - #line default - #line hidden - this.Write("/"); - - #line 77 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(listMarshallName)); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n\t\t\t\t\t{\r\n if (unmarshalledObject."); - - #line 79 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" == null)\r\n {\r\n unmarshalledObj" + - "ect."); - - #line 81 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = new "); - - #line 81 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType())); - - #line default - #line hidden - this.Write("();\r\n }\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 83 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tunmarshalledObject."); - - #line 84 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(".Add(unmarshaller.Unmarshall(context));\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 87 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - - } - else - { - if(!member.IsXmlAttribute) - { - - - #line default - #line hidden - this.Write("\t\t\t\t\tif (context.TestExpression(\""); - - #line 94 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.MarshallName)); - - #line default - #line hidden - this.Write("\", targetDepth))\r\n"); - - #line 95 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - - } - else - { + #line 75 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - - #line default - #line hidden - this.Write(" if (context.TestExpression(\"@"); - - #line 100 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(DetermineXmlMarshallName(member, false))); - - #line default - #line hidden - this.Write("\", targetDepth - 1))\r\n"); - - #line 101 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - - } - - - #line default - #line hidden - this.Write("\t\t\t\t\t{\r\n\t\t\t\t\t\tvar unmarshaller = "); - - #line 105 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineTypeUnmarshallerInstantiate())); - - #line default - #line hidden - this.Write(";\r\n\t\t\t\t\t\tunmarshalledObject."); - - #line 106 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); - - #line default - #line hidden - this.Write(" = unmarshaller.Unmarshall(context);\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n"); - - #line 109 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" - - } } } @@ -316,7 +201,7 @@ public override string TransformText() } "); - #line 122 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" + #line 87 "C:\Dev\Repos\aws-sdk-net-staging\generator\ServiceClientGeneratorLib\Generators\Marshallers\RestXmlStructureUnmarshaller.tt" this.AddStructureSingletonMethod(); diff --git a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.tt b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.tt index 1cc56dbbf1de..390c42ea3c87 100644 --- a/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.tt +++ b/generator/ServiceClientGeneratorLib/Generators/Marshallers/RestXmlStructureUnmarshaller.tt @@ -70,44 +70,9 @@ namespace <#=this.Config.Namespace #>.Model.Internal.MarshallTransformations // For every member, generate code to add the unmarshalled member to the response object foreach (var member in this.Structure.Members) { - if(member.Shape.IsList) - { - var listMarshallName = member.Shape.ListMarshallName ?? "member"; + ProcessResponseBodyOrStructureMembers(member, true); #> - if (context.TestExpression("<#=member.MarshallName#>/<#=listMarshallName#>", targetDepth)) - { - if (unmarshalledObject.<#=member.PropertyName#> == null) - { - unmarshalledObject.<#=member.PropertyName#> = new <#=member.DetermineType()#>(); - } - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - unmarshalledObject.<#=member.PropertyName#>.Add(unmarshaller.Unmarshall(context)); - continue; - } <# - } - else - { - if(!member.IsXmlAttribute) - { -#> - if (context.TestExpression("<#=member.MarshallName#>", targetDepth)) -<# - } - else - { -#> - if (context.TestExpression("@<#=DetermineXmlMarshallName(member, false)#>", targetDepth - 1)) -<# - } -#> - { - var unmarshaller = <#= member.DetermineTypeUnmarshallerInstantiate() #>; - unmarshalledObject.<#=member.PropertyName#> = unmarshaller.Unmarshall(context); - continue; - } -<# - } } } #> diff --git a/generator/ServiceClientGeneratorLib/ServiceModel.cs b/generator/ServiceClientGeneratorLib/ServiceModel.cs index 7096af58986e..da54d9694430 100644 --- a/generator/ServiceClientGeneratorLib/ServiceModel.cs +++ b/generator/ServiceClientGeneratorLib/ServiceModel.cs @@ -480,9 +480,9 @@ public List S3AllowListOperations new Operation(this, "DeleteBucketReplication", DocumentRoot[OperationsKey]["DeleteBucketReplication"]), new Operation(this, "DeleteBucketTagging", DocumentRoot[OperationsKey]["DeleteBucketTagging"]), new Operation(this, "DeletePublicAccessBlock", DocumentRoot[OperationsKey]["DeletePublicAccessBlock"]), - //new Operation(this, "GetBucketAccelerateConfiguration", DocumentRoot[OperationsKey]["GetBucketAccelerateConfiguration"]), + new Operation(this, "GetBucketAccelerateConfiguration", DocumentRoot[OperationsKey]["GetBucketAccelerateConfiguration"]), //new Operation(this, "GetBucketAnalyticsConfiguration", DocumentRoot[OperationsKey]["GetBucketAnalyticsConfiguration"]), - //new Operation(this, "GetBucketEncryption", DocumentRoot[OperationsKey]["GetBucketEncryption"]), + new Operation(this, "GetBucketEncryption", DocumentRoot[OperationsKey]["GetBucketEncryption"]), //new Operation(this, "GetBucketIntelligentTieringConfiguration", DocumentRoot[OperationsKey]["GetBucketIntelligentTieringConfiguration"]), //new Operation(this, "GetBucketInventoryConfiguration", DocumentRoot[OperationsKey]["GetBucketInventoryConfiguration"]), //new Operation(this, "GetBucketLocation", DocumentRoot[OperationsKey]["GetBucketLocation"]), @@ -512,7 +512,7 @@ public List S3AllowListOperations new Operation(this, "ListDirectoryBuckets", DocumentRoot[OperationsKey]["ListDirectoryBuckets"]), //new Operation(this, "ListParts", DocumentRoot[OperationsKey]["ListParts"]), //new Operation(this, "PutBucketAccelerateConfiguration", DocumentRoot[OperationsKey]["PutBucketAccelerateConfiguration"]), - //new Operation(this, "PutBucketEncryption", DocumentRoot[OperationsKey]["PutBucketEncryption"]), + new Operation(this, "PutBucketEncryption", DocumentRoot[OperationsKey]["PutBucketEncryption"]), //new Operation(this, "PutBucketPolicy", DocumentRoot[OperationsKey]["PutBucketPolicy"]), //new Operation(this, "PutObjectLegalHold", DocumentRoot[OperationsKey]["PutObjectLegalHold"]), //new Operation(this, "PutObjectLockConfiguration", DocumentRoot[OperationsKey]["PutObjectLockConfiguration"]), diff --git a/generator/ServiceModels/s3/s3.customizations.json b/generator/ServiceModels/s3/s3.customizations.json index b69e9e5aa9f6..68a672f84874 100644 --- a/generator/ServiceModels/s3/s3.customizations.json +++ b/generator/ServiceModels/s3/s3.customizations.json @@ -197,6 +197,30 @@ } ] }, + "ServerSideEncryptionRule":{ + "modify":[ + { + "ApplyServerSideEncryptionByDefault": { "emitPropertyName": "ServerSideEncryptionByDefault"} + } + ] + }, + "ServerSideEncryptionConfiguration":{ + "modify":[ + { + "Rules" : { "emitPropertyName": "ServerSideEncryptionRules" } + } + ] + }, + "ServerSideEncryptionByDefault":{ + "modify": [ + { + "KMSMasterKeyID": {"emitPropertyName": "ServerSideEncryptionKeyManagementServiceKeyId"} + }, + { + "SSEAlgorithm": {"emitPropertyName": "ServerSideEncryptionAlgorithm"} + } + ] + }, "UploadPartCopyRequest": { "modify": [ { @@ -297,6 +321,9 @@ "shapeSubstitutions":{ "Bucket":{ "renameShape":"S3Bucket" + }, + "ServerSideEncryption":{ + "renameShape":"ServerSideEncryptionMethod" } } } diff --git a/sdk/src/Services/S3/Custom/Model/GetBucketEncryptionRequest.cs b/sdk/src/Services/S3/Custom/Model/GetBucketEncryptionRequest.cs deleted file mode 100644 index f372974eb2c8..000000000000 --- a/sdk/src/Services/S3/Custom/Model/GetBucketEncryptionRequest.cs +++ /dev/null @@ -1,126 +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 Amazon.Runtime; -using Amazon.Runtime.Internal; - -namespace Amazon.S3.Model -{ - /// - /// Container for the parameters to the GetBucketEncryption operation. - /// - /// - /// This operation is not supported by directory buckets. - /// - /// - /// - /// Returns the default encryption configuration for an Amazon S3 bucket. By default, - /// all buckets have a default encryption configuration that uses server-side encryption - /// with Amazon S3 managed keys (SSE-S3). For information about the bucket default encryption - /// feature, see Amazon - /// S3 Bucket Default Encryption in the Amazon S3 User Guide. - /// - /// - /// - /// To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration - /// action. The bucket owner has this permission by default. The bucket owner can grant - /// this permission to others. For more information about permissions, see Permissions - /// Related to Bucket Subresource Operations and Managing - /// Access Permissions to Your Amazon S3 Resources. - /// - /// - /// - /// The following operations are related to GetBucketEncryption: - /// - /// - /// - public partial class GetBucketEncryptionRequest : AmazonWebServiceRequest - { - private string bucketName; - private string expectedBucketOwner; - - /// - /// - /// The name of the bucket from which the server-side encryption configuration is retrieved. - /// - /// - /// - /// Directory buckets - When you use this operation with a directory bucket, you must use path-style requests - /// in the format https://s3express-control.region_code.amazonaws.com/bucket-name. - /// - /// Virtual-hosted-style requests aren't supported. - /// Directory bucket names must be unique in the chosen Availability Zone. - /// Bucket names must also follow the format bucket_base_name--az_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. - /// - /// - 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 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). - /// - /// - /// - /// For directory buckets, this header is not supported in this API operation. - /// If you specify this header, the request fails with the HTTP status code 501 Not Implemented. - /// - /// - public string ExpectedBucketOwner - { - get { return this.expectedBucketOwner; } - set { this.expectedBucketOwner = value; } - } - - /// - /// Checks to see if ExpectedBucketOwner is set. - /// - /// true, 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/GetBucketAccelerateConfigurationRequestMarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationRequestMarshaller.cs deleted file mode 100644 index 9a6a988fbc50..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationRequestMarshaller.cs +++ /dev/null @@ -1,75 +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; -using System.Globalization; - -#pragma warning disable 1591 - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - /// - /// Get Object Accelerate Configuration Request Marshaller - /// - public class GetBucketAccelerateConfigurationRequestMarshaller : IMarshaller, IMarshaller - { - public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input) - { - return this.Marshall((GetBucketAccelerateConfigurationRequest)input); - } - - public IRequest Marshall(GetBucketAccelerateConfigurationRequest getBucketAccelerateRequest) - { - IRequest request = new DefaultRequest(getBucketAccelerateRequest, "AmazonS3"); - - request.HttpMethod = "GET"; - - if (getBucketAccelerateRequest.IsSetExpectedBucketOwner()) - request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(getBucketAccelerateRequest.ExpectedBucketOwner)); - - if (string.IsNullOrEmpty(getBucketAccelerateRequest.BucketName)) - throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "GetBucketAccelerateConfigurationRequest.BucketName"); - - if (getBucketAccelerateRequest.IsSetRequestPayer()) - request.Headers.Add(S3Constants.AmzHeaderRequestPayer, S3Transforms.ToStringValue(getBucketAccelerateRequest.RequestPayer)); - - request.ResourcePath = "/"; - request.AddSubResource("accelerate"); - request.UseQueryString = true; - - return request; - } - - private static GetBucketAccelerateConfigurationRequestMarshaller _instance; - - /// - /// Singleton for marshaller - /// - public static GetBucketAccelerateConfigurationRequestMarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new GetBucketAccelerateConfigurationRequestMarshaller(); - } - return _instance; - } - } - } -} - diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationResponseUnmarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationResponseUnmarshaller.cs deleted file mode 100644 index d75f4ff8a6cb..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationResponseUnmarshaller.cs +++ /dev/null @@ -1,100 +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 System.Collections.Generic; -using Amazon.S3.Model; -using Amazon.Runtime; -using Amazon.Runtime.Internal; -using Amazon.Runtime.Internal.Transform; -using Amazon.S3.Util; - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - /// - /// Response Unmarshaller for GetACL operation - /// - public class GetBucketAccelerateConfigurationResponseUnmarshaller : S3ReponseUnmarshaller - { - /// - /// Unmarshaller the response from the service to the response class. - /// - /// - /// - public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) - { - var response = new GetBucketAccelerateConfigurationResponse(); - - 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, GetBucketAccelerateConfigurationResponse 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("Status", targetDepth)) - { - response.Status = StringUnmarshaller.GetInstance().Unmarshall(context); - } - } - else if (context.IsEndElement && context.CurrentDepth < originalDepth) - { - return; - } - } - return; - } - - private static GetBucketAccelerateConfigurationResponseUnmarshaller _instance; - - /// - /// Singleton for the unmarshaller - /// - public static GetBucketAccelerateConfigurationResponseUnmarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new GetBucketAccelerateConfigurationResponseUnmarshaller(); - } - return _instance; - } - } - } -} - diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs index 9fb1e6b551ff..f29210aac415 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs +++ b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs @@ -1,68 +1,29 @@ /* - * 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. - */ +* 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 { - public class GetBucketEncryptionRequestMarshaller : IMarshaller, IMarshaller + public partial class GetBucketEncryptionRequestMarshaller : IMarshaller, IMarshaller { - public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input) - { - return this.Marshall((GetBucketEncryptionRequest)input); - } - - public IRequest Marshall(GetBucketEncryptionRequest getEncryptionRequest) - { - IRequest request = new DefaultRequest(getEncryptionRequest, "AmazonS3"); - - request.Suppress404Exceptions = true; - request.HttpMethod = "GET"; - - if (getEncryptionRequest.IsSetExpectedBucketOwner()) - request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(getEncryptionRequest.ExpectedBucketOwner)); - - if (string.IsNullOrEmpty(getEncryptionRequest.BucketName)) - throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "GetBucketEncryptionRequest.BucketName"); - - request.ResourcePath = "/"; - request.AddSubResource("encryption"); - request.UseQueryString = true; - - return request; - } - - private static GetBucketEncryptionRequestMarshaller _instance; - - /// - /// Singleton for marshaller - /// - public static GetBucketEncryptionRequestMarshaller Instance + partial void PostMarshallCustomization(DefaultRequest defaultRequest, GetBucketEncryptionRequest publicRequest) { - get - { - if (_instance == null) - { - _instance = new GetBucketEncryptionRequestMarshaller(); - } - return _instance; - } + defaultRequest.Suppress404Exceptions = true; } } -} \ No newline at end of file +} diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketEncryptionRequestMarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketEncryptionRequestMarshaller.cs deleted file mode 100644 index 5a81e2065b20..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketEncryptionRequestMarshaller.cs +++ /dev/null @@ -1,144 +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.IO; -using System.Xml; -using System.Text; -using Amazon.S3.Util; -using Amazon.Runtime; -using Amazon.Runtime.Internal; -using Amazon.Runtime.Internal.Transform; -using Amazon.Util; -using System.Globalization; -using Amazon.Runtime.Internal.Util; - -#pragma warning disable 1591 - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - public class PutBucketEncryptionRequestMarshaller : IMarshaller, IMarshaller - { - public IRequest Marshall(Amazon.Runtime.AmazonWebServiceRequest input) - { - return this.Marshall((PutBucketEncryptionRequest)input); - } - public IRequest Marshall(PutBucketEncryptionRequest putBucketEncryptionRequest) - { - IRequest request = new DefaultRequest(putBucketEncryptionRequest, "AmazonS3"); - - request.HttpMethod = "PUT"; - - if (putBucketEncryptionRequest.IsSetChecksumAlgorithm()) - request.Headers.Add(S3Constants.AmzHeaderSdkChecksumAlgorithm, S3Transforms.ToStringValue(putBucketEncryptionRequest.ChecksumAlgorithm)); - - if (putBucketEncryptionRequest.IsSetExpectedBucketOwner()) - request.Headers.Add(S3Constants.AmzHeaderExpectedBucketOwner, S3Transforms.ToStringValue(putBucketEncryptionRequest.ExpectedBucketOwner)); - - if (putBucketEncryptionRequest.IsSetContentMD5()) - request.Headers.Add(HeaderKeys.ContentMD5Header, S3Transforms.ToStringValue(putBucketEncryptionRequest.ContentMD5)); - - if (string.IsNullOrEmpty(putBucketEncryptionRequest.BucketName)) - throw new System.ArgumentException("BucketName is a required property and must be set before making this call.", "PutBucketEncryptionRequest.BucketName"); - - request.ResourcePath = "/"; - - request.AddSubResource("encryption"); - - var stringWriter = new XMLEncodedStringWriter(System.Globalization.CultureInfo.InvariantCulture); - using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize })) - { - if (putBucketEncryptionRequest.IsSetServerSideEncryptionConfiguration()) - { - var sseConfiguration = putBucketEncryptionRequest.ServerSideEncryptionConfiguration; - xmlWriter.WriteStartElement("ServerSideEncryptionConfiguration", S3Constants.S3RequestXmlNamespace); - if (sseConfiguration != null) - { - if (sseConfiguration.ServerSideEncryptionRules != null) - { - foreach (var serverSideEncryptionRule in sseConfiguration.ServerSideEncryptionRules) - { - xmlWriter.WriteStartElement("Rule"); - if (serverSideEncryptionRule != null) - { - if (serverSideEncryptionRule.IsSetServerSideEncryptionByDefault()) - { - xmlWriter.WriteStartElement("ApplyServerSideEncryptionByDefault"); - var sseDefault = serverSideEncryptionRule.ServerSideEncryptionByDefault; - if (sseDefault.IsSetServerSideEncryptionAlgorithm()) - { - xmlWriter.WriteElementString("SSEAlgorithm", S3Transforms.ToXmlStringValue(sseDefault.ServerSideEncryptionAlgorithm)); - } - if (sseDefault.IsSetServerSideEncryptionKeyManagementServiceKeyId()) - { - xmlWriter.WriteElementString("KMSMasterKeyID", S3Transforms.ToXmlStringValue(sseDefault.ServerSideEncryptionKeyManagementServiceKeyId)); - } - xmlWriter.WriteEndElement(); - } - - if (serverSideEncryptionRule.IsSetBucketKeyEnabled()) - { - xmlWriter.WriteElementString("BucketKeyEnabled", S3Transforms.ToXmlStringValue(serverSideEncryptionRule.BucketKeyEnabled.Value)); - } - } - xmlWriter.WriteEndElement(); - } - } - } - xmlWriter.WriteEndElement(); - } - } - - try - { - var content = stringWriter.ToString(); - request.Content = Encoding.UTF8.GetBytes(content); - request.Headers[HeaderKeys.ContentTypeHeader] = "application/xml"; - - ChecksumUtils.SetChecksumData( - request, - putBucketEncryptionRequest.ChecksumAlgorithm, - fallbackToMD5: false, - isRequestChecksumRequired: true, - headerName: S3Constants.AmzHeaderSdkChecksumAlgorithm - ); - } - catch (EncoderFallbackException e) - { - throw new AmazonServiceException("Unable to marshall request to XML", e); - } - - return request; - } - - private static PutBucketEncryptionRequestMarshaller _instance; - - /// - /// Singleton for marshaller - /// - public static PutBucketEncryptionRequestMarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new PutBucketEncryptionRequestMarshaller(); - } - return _instance; - } - } - - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketEncryptionResponseUnmarshaller.cs b/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketEncryptionResponseUnmarshaller.cs deleted file mode 100644 index e3c15cf8098c..000000000000 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/PutBucketEncryptionResponseUnmarshaller.cs +++ /dev/null @@ -1,61 +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 System.Collections.Generic; -using Amazon.S3.Model; -using Amazon.Runtime; -using Amazon.Runtime.Internal; -using Amazon.Runtime.Internal.Transform; - -namespace Amazon.S3.Model.Internal.MarshallTransformations -{ - /// - /// PutBucketEncryptionResponse unmarshaller - /// - public class PutBucketEncryptionResponseUnmarshaller : S3ReponseUnmarshaller - { - /// - /// Unmarshaller the response from the service to the response class. - /// - /// - /// - public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) - { - PutBucketEncryptionResponse response = new PutBucketEncryptionResponse(); - - - return response; - } - - private static PutBucketEncryptionResponseUnmarshaller _instance; - - /// - /// Singleton for the unmarshaller - /// - public static PutBucketEncryptionResponseUnmarshaller Instance - { - get - { - if (_instance == null) - { - _instance = new PutBucketEncryptionResponseUnmarshaller(); - } - return _instance; - } - } - - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/PutBucketEncryptionRequest.cs b/sdk/src/Services/S3/Custom/Model/PutBucketEncryptionRequest.cs deleted file mode 100644 index d74b800b243f..000000000000 --- a/sdk/src/Services/S3/Custom/Model/PutBucketEncryptionRequest.cs +++ /dev/null @@ -1,219 +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 Amazon.Runtime; - -namespace Amazon.S3.Model -{ - /// - /// Container for the parameters to the PutBucketEncryption operation. - /// - /// - /// This operation is not supported by directory buckets. - /// - /// - /// - /// This action uses the encryption subresource to configure default encryption - /// and Amazon S3 Bucket Keys for an existing bucket. - /// - /// - /// - /// By default, all buckets have a default encryption configuration that uses server-side - /// encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default - /// encryption for a bucket by using server-side encryption with Key Management Service - /// (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services - /// KMS keys (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also - /// configure Amazon - /// S3 Bucket Keys. If you use PutBucketEncryption to set your default - /// bucket encryption to SSE-KMS, you should verify that your KMS key ID is correct. - /// Amazon S3 does not validate the KMS key ID provided in PutBucketEncryption requests. - /// - /// - /// - /// This action requires Amazon Web Services Signature Version 4. For more information, - /// see - /// Authenticating Requests (Amazon Web Services Signature Version 4). - /// - /// - /// - /// To use this operation, you must have permission to perform the s3:PutEncryptionConfiguration - /// action. The bucket owner has this permission by default. The bucket owner can grant - /// this permission to others. For more information about permissions, see Permissions - /// Related to Bucket Subresource Operations and Managing - /// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. - /// - /// - /// - /// - /// The following operations are related to PutBucketEncryption: - /// - /// - /// - public class PutBucketEncryptionRequest : AmazonWebServiceRequest - { - private string bucketName; - private ChecksumAlgorithm _checksumAlgorithm; - private string contentMD5; - private ServerSideEncryptionConfiguration serverSideEncryptionConfiguration; - private string expectedBucketOwner; - - /// - /// Gets and sets the property BucketName. - /// - /// Specifies default encryption for a bucket using server-side encryption with different key options. - /// - /// - /// - /// Directory buckets - When you use this operation with a directory bucket, you must use path-style requests - /// in the format https://s3express-control.region_code.amazonaws.com/bucket-name. - /// - /// Virtual-hosted-style requests aren't supported. - /// Directory bucket names must be unique in the chosen Availability Zone. - /// Bucket names must also follow the format bucket_base_name--az_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. - /// - /// - public string BucketName - { - get { return this.bucketName; } - set { this.bucketName = value; } - } - - // Check to see if Bucket property is set - internal bool IsSetBucketName() - { - return !(string.IsNullOrEmpty(this.bucketName)); - } - - /// - /// Gets and sets the property ChecksumAlgorithm. - /// - /// Indicates the algorithm used to create the checksum for the object when you use the - /// SDK. This header will not provide any additional functionality if you don't use the - /// SDK. When you send this header, there must be a corresponding x-amz-checksum - /// or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request - /// with the HTTP status code 400 Bad Request. For more information, see - /// Checking - /// object integrity in the Amazon S3 User Guide. - /// - /// - /// - /// If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm - /// parameter. - /// - /// - /// - /// For directory buckets, when you use Amazon Web Services SDKs, CRC32 is the default checksum algorithm that's used for performance. - /// - /// - 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 Base64 encoded 128-bit MD5 digest of the server-side encryption configuration. - /// - /// - /// - /// For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon - /// Web Services SDKs, this field is calculated automatically. - /// - /// - /// - /// This functionality is not supported for directory buckets. - /// - /// - public string ContentMD5 - { - get { return this.contentMD5; } - set { this.contentMD5 = value; } - } - - // Check to see if ContentMD5 property is set - internal bool IsSetContentMD5() - { - return this.contentMD5 != null; - } - - /// - /// Container for server-side encryption configuration rules. Currently S3 supports one rule only. - /// - public ServerSideEncryptionConfiguration ServerSideEncryptionConfiguration - { - get { return this.serverSideEncryptionConfiguration; } - set { this.serverSideEncryptionConfiguration = value; } - } - - // Check to see if ServerSideEncryptionConfiguration property is set - internal bool IsSetServerSideEncryptionConfiguration() - { - return this.serverSideEncryptionConfiguration != null; - } - - /// - /// Gets and sets the property ExpectedBucketOwner. - /// - /// 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). - /// - /// - /// - /// For directory buckets, this header is not supported in this API operation. - /// If you specify this header, the request fails with the HTTP status code 501 Not Implemented. - /// - /// - public string ExpectedBucketOwner - { - get { return this.expectedBucketOwner; } - set { this.expectedBucketOwner = value; } - } - - /// - /// Checks to see if ExpectedBucketOwner is set. - /// - /// true, 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/ServerSideEncryptionByDefault.cs b/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionByDefault.cs deleted file mode 100644 index 81e45271876f..000000000000 --- a/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionByDefault.cs +++ /dev/null @@ -1,168 +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 Amazon.Runtime.Internal; - -namespace Amazon.S3.Model -{ - /// - /// - /// Describes the default server-side encryption to apply to new objects in the bucket. - /// If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. - /// For more information, see PutBucketEncryption. - /// - /// - /// - ///
    - /// - ///
  • - /// - /// General purpose buckets - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an Amazon Web Services KMS key (aws/s3) - /// in your Amazon Web Services account the first time that you add an object encrypted with SSE-KMS to a bucket. - /// By default, Amazon S3 uses this KMS key for SSE-KMS. - /// - ///
  • - /// - ///
  • - /// - /// Directory buckets - Your SSE-KMS configuration can only support 1 customer managed key - /// per directory bucket for the lifetime of the bucket. - /// Amazon Web Services managed key (aws/s3) isn't supported. - /// - ///
  • - /// - ///
  • - /// - /// Directory buckets - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. - /// - ///
  • - /// - ///
- ///
- ///
- public class ServerSideEncryptionByDefault - { - private string serverSideEncryptionKeyManagementServiceKeyId; - private ServerSideEncryptionMethod serverSideEncryptionAlgorithm; - - /// - /// Gets and sets the property ServerSideEncryptionKeyManagementServiceKeyId. - /// - /// Amazon Web Services Key Management Service (KMS) customer managed key ID to use for the default encryption. - /// - /// - /// - ///
    - ///
  • - /// General purpose buckets - This parameter is allowed if and only if SSEAlgorithm is set to aws:kms or aws:kms:dsse. - ///
  • - /// - ///
  • - /// Directory buckets - This parameter is allowed if and only if SSEAlgorithm is set to aws:kms. - ///
  • - ///
- ///
- /// - /// You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key. - ///
    - ///
  • - /// Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - ///
  • - ///
  • - /// Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - ///
  • - /// - ///
  • Key Alias: alias/alias-name
  • - ///
- /// - /// - /// If you are using encryption with cross-account or Amazon Web Services service operations, you must use a fully qualified KMS key ARN. - /// For more information, see Using encryption - /// for cross-account operations. - /// - /// - /// - ///
    - ///
  • - /// - /// General purpose buckets - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. - /// If you use a KMS key alias instead, then KMS resolves the key within the requester’s account. This behavior can result in data that's encrypted with a KMS key that - /// belongs to the requester, and not the bucket owner. - /// Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. - /// - ///
  • - /// - ///
  • - /// - /// Directory buckets - When you specify an KMS customer managed key - /// for encryption in your directory bucket, only use the key ID or key ARN. - /// The key alias format of the KMS key isn't supported. - /// - ///
  • - ///
- ///
- /// - /// - /// - /// Amazon S3 only supports symmetric encryption KMS keys. - /// For more information, see Asymmetric keys in Amazon Web Services KMS - /// in the Amazon Web Services Key Management Service Developer Guide. - /// - /// - ///
- [AWSProperty(Sensitive=true)] - public string ServerSideEncryptionKeyManagementServiceKeyId - { - get { return this.serverSideEncryptionKeyManagementServiceKeyId; } - set { this.serverSideEncryptionKeyManagementServiceKeyId = value; } - } - - // Check to see if ServerSideEncryptionKeyManagementServiceKeyId property is set - internal bool IsSetServerSideEncryptionKeyManagementServiceKeyId() - { - return this.serverSideEncryptionKeyManagementServiceKeyId != null; - } - - /// - /// - /// Server-side encryption algorithm to use for the default encryption. - /// - /// - /// - /// - /// For directory buckets, there are only two supported values for server-side encryption: AES256 and aws:kms. - /// - /// - /// - public ServerSideEncryptionMethod ServerSideEncryptionAlgorithm - { - get { return this.serverSideEncryptionAlgorithm; } - set { this.serverSideEncryptionAlgorithm = value; } - } - - // Check to see if ServerSideEncryptionAlgorithm property is set - internal bool IsSetServerSideEncryptionAlgorithm() - { - return this.serverSideEncryptionAlgorithm != null; - } - - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionConfiguration.cs b/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionConfiguration.cs deleted file mode 100644 index 8b342110670f..000000000000 --- a/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionConfiguration.cs +++ /dev/null @@ -1,46 +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; - -namespace Amazon.S3.Model -{ - /// - /// ServerSideEncryptionConfiguration class - /// - public class ServerSideEncryptionConfiguration - { - private List serverSideEncryptionRules = AWSConfigs.InitializeCollections ? new List() : null; - - /// - /// Container for information about a particular server-side encryption configuration rule. - /// - public List ServerSideEncryptionRules - { - get { return this.serverSideEncryptionRules; } - set { this.serverSideEncryptionRules = value; } - } - - // Check to see if ServerSideEncryptionRules property is set - internal bool IsSetServerSideEncryptionRules() - { - return this.serverSideEncryptionRules != null && (this.serverSideEncryptionRules.Count > 0 || !AWSConfigs.InitializeCollections); - } - } -} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionRule.cs b/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionRule.cs deleted file mode 100644 index 9b11eda44036..000000000000 --- a/sdk/src/Services/S3/Custom/Model/ServerSideEncryptionRule.cs +++ /dev/null @@ -1,109 +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; - -namespace Amazon.S3.Model -{ - /// - /// - /// Specifies the default server-side encryption configuration. - /// - /// - /// - ///
    - /// - ///
  • - /// - /// General purpose buckets - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. - /// If you use a KMS key alias instead, then KMS resolves the key within the requester's account. - /// This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. - /// - ///
  • - /// - ///
  • - /// - /// Directory buckets - When you specify an KMS customer managed key - /// for encryption in your directory bucket, only use the key ID or key ARN. - /// The key alias format of the KMS key isn't supported. - /// - ///
  • - /// - ///
- ///
- ///
- public class ServerSideEncryptionRule - { - private ServerSideEncryptionByDefault serverSideEncryptionByDefault; - private bool? bucketKeyEnabled; - - /// - /// Describes the default server-side encryption to apply to - /// new objects in the bucket. If Put Object request - /// does not specify any server-side encryption, - /// this default encryption will be applied. - /// - public ServerSideEncryptionByDefault ServerSideEncryptionByDefault - { - get { return this.serverSideEncryptionByDefault; } - set { this.serverSideEncryptionByDefault = value; } - } - // Check to see if ServerSideEncryptionByDefault property is set - internal bool IsSetServerSideEncryptionByDefault() - { - return this.serverSideEncryptionByDefault != null; - } - - /// - /// - /// Specifies whether Amazon S3 should use bucket key with - /// server-side encryption using KMS (SSE-KMS) for new objects in the bucket. - /// Existing objects are not affected. Setting the BucketKeyEnabled - /// element to true causes Amazon S3 to use bucket key. - /// - /// - /// - /// General purpose buckets - By default, S3 Bucket Key is not enabled. - /// For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide. - /// - /// - /// - /// Directory buckets - S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can't be disabled. - /// S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, - /// from directory buckets to general purpose buckets, or between directory buckets, through - /// CopyObject, - /// UploadPartCopy, - /// the Copy operation in Batch Operations, - /// or the import jobs. - /// - /// In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object. - /// - /// - public bool? BucketKeyEnabled - { - get { return this.bucketKeyEnabled; } - set { this.bucketKeyEnabled = value; } - } - - internal bool IsSetBucketKeyEnabled() - { - return bucketKeyEnabled.HasValue; - } - } -} diff --git a/sdk/src/Services/S3/Custom/Model/GetBucketAccelerateConfigurationRequest.cs b/sdk/src/Services/S3/Generated/Model/GetBucketAccelerateConfigurationRequest.cs similarity index 75% rename from sdk/src/Services/S3/Custom/Model/GetBucketAccelerateConfigurationRequest.cs rename to sdk/src/Services/S3/Generated/Model/GetBucketAccelerateConfigurationRequest.cs index 80a4d2c23ef8..f7035e680774 100644 --- a/sdk/src/Services/S3/Custom/Model/GetBucketAccelerateConfigurationRequest.cs +++ b/sdk/src/Services/S3/Generated/Model/GetBucketAccelerateConfigurationRequest.cs @@ -12,33 +12,39 @@ * 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 GetBucketAccelerateConfiguration operation. /// /// - /// This operation is not supported by directory buckets. + /// This operation is not supported for directory buckets. /// /// /// - /// This implementation of the GET action uses the accelerate subresource - /// to return the Transfer Acceleration state of a bucket, which is either Enabled - /// or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature - /// that enables you to perform faster data transfers to and from Amazon S3. + /// This implementation of the GET action uses the accelerate subresource to return + /// the Transfer Acceleration state of a bucket, which is either Enabled or Suspended. + /// Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform + /// faster data transfers to and from Amazon S3. /// /// /// - /// To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration + /// To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration /// action. The bucket owner has this permission by default. The bucket owner can grant /// this permission to others. For more information about permissions, see Permissions /// Related to Bucket Subresource Operations and Managing @@ -46,15 +52,15 @@ namespace Amazon.S3.Model /// /// /// - /// You set the Transfer Acceleration state of an existing bucket to Enabled - /// or Suspended by using the PutBucketAccelerateConfiguration + /// You set the Transfer Acceleration state of an existing bucket to Enabled or + /// Suspended by using the PutBucketAccelerateConfiguration /// operation. /// /// /// - /// A GET accelerate request does not return a state value for a bucket that - /// has no transfer acceleration state. A bucket has no Transfer Acceleration state if - /// a state has never been set on the bucket. + /// A GET accelerate request does not return a state value for a bucket that has + /// no transfer acceleration state. A bucket has no Transfer Acceleration state if a state + /// has never been set on the bucket. /// /// /// @@ -63,7 +69,7 @@ namespace Amazon.S3.Model /// /// /// - /// The following operations are related to GetBucketAccelerateConfiguration: + /// The following operations are related to GetBucketAccelerateConfiguration: /// ///
  • /// @@ -101,7 +107,7 @@ internal bool IsSetBucketName() /// /// 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 @@ -110,13 +116,10 @@ public string 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 this._expectedBucketOwner != null; } /// @@ -133,6 +136,6 @@ internal bool IsSetRequestPayer() { return this._requestPayer != null; } + } -} - +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/GetBucketAccelerateConfigurationResponse.cs b/sdk/src/Services/S3/Generated/Model/GetBucketAccelerateConfigurationResponse.cs similarity index 88% rename from sdk/src/Services/S3/Custom/Model/GetBucketAccelerateConfigurationResponse.cs rename to sdk/src/Services/S3/Generated/Model/GetBucketAccelerateConfigurationResponse.cs index b33e8e34ee7b..b7601aa75ba8 100644 --- a/sdk/src/Services/S3/Custom/Model/GetBucketAccelerateConfigurationResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/GetBucketAccelerateConfigurationResponse.cs @@ -12,19 +12,25 @@ * 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 response class for GetBucketAccelerateConfiguration operation. + /// This is the response object from the GetBucketAccelerateConfiguration operation. /// public partial class GetBucketAccelerateConfigurationResponse : AmazonWebServiceResponse { diff --git a/sdk/src/Services/S3/Generated/Model/GetBucketEncryptionRequest.cs b/sdk/src/Services/S3/Generated/Model/GetBucketEncryptionRequest.cs new file mode 100644 index 000000000000..91ce83af6b64 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/GetBucketEncryptionRequest.cs @@ -0,0 +1,152 @@ +/* + * 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 GetBucketEncryption operation. + /// Returns the default encryption configuration for an Amazon S3 bucket. By default, + /// all buckets have a default encryption configuration that uses server-side encryption + /// with Amazon S3 managed keys (SSE-S3). + /// + ///
Permissions
  • + /// + /// General purpose bucket permissions - The s3:GetEncryptionConfiguration + /// permission is required in a policy. The bucket owner has this permission by default. + /// The bucket owner can grant this permission to others. For more information about permissions, + /// see Permissions + /// Related to Bucket Operations and Managing + /// Access Permissions to Your Amazon S3 Resources. + /// + ///
  • + /// + /// Directory bucket permissions - To grant access to this API operation, you + /// must have the s3express:GetEncryptionConfiguration permission in an IAM identity-based + /// policy instead of a bucket policy. Cross-account access to this API operation isn't + /// supported. This operation can only be performed by the Amazon Web Services account + /// that owns the resource. For more information about directory bucket policies and permissions, + /// see Amazon + /// Web Services Identity and Access Management (IAM) for S3 Express One Zone in the + /// Amazon S3 User Guide. + /// + ///
HTTP Host header syntax
+ /// + /// Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com. + /// + ///
+ /// + /// The following operations are related to GetBucketEncryption: + /// + /// + ///
+ public partial class GetBucketEncryptionRequest : AmazonWebServiceRequest + { + private string _bucketName; + private string _expectedBucketOwner; + + /// + /// Gets and sets the property BucketName. + /// + /// The name of the bucket from which the server-side encryption configuration is retrieved. + /// + /// + /// + /// Directory buckets - When you use this operation with a directory bucket, + /// you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name + /// . Virtual-hosted-style requests aren't supported. Directory bucket names must + /// be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must + /// also follow the format bucket-base-name--zone-id--x-s3 (for + /// example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + /// about bucket naming restrictions, see Directory + /// bucket naming rules in the Amazon S3 User Guide + /// + /// + 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 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). + /// + /// + /// + /// For directory buckets, this header is not supported in this API operation. If you + /// specify this header, the request fails with the HTTP status code 501 Not Implemented. + /// + /// + /// + public string ExpectedBucketOwner + { + get { return this._expectedBucketOwner; } + set { this._expectedBucketOwner = value; } + } + + // Check to see if ExpectedBucketOwner property is set + internal bool IsSetExpectedBucketOwner() + { + return this._expectedBucketOwner != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/GetBucketEncryptionResponse.cs b/sdk/src/Services/S3/Generated/Model/GetBucketEncryptionResponse.cs similarity index 59% rename from sdk/src/Services/S3/Custom/Model/GetBucketEncryptionResponse.cs rename to sdk/src/Services/S3/Generated/Model/GetBucketEncryptionResponse.cs index 57f4b1dc5f63..39fbe8b8c7e9 100644 --- a/sdk/src/Services/S3/Custom/Model/GetBucketEncryptionResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/GetBucketEncryptionResponse.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -12,35 +12,44 @@ * 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 { /// - /// GetBucketEncryptionResponse Response + /// This is the response object from the GetBucketEncryption operation. /// - public partial class GetBucketEncryptionResponse: AmazonWebServiceResponse + public partial class GetBucketEncryptionResponse : AmazonWebServiceResponse { - private ServerSideEncryptionConfiguration serverSideEncryptionConfiguration; + private ServerSideEncryptionConfiguration _serverSideEncryptionConfiguration; /// - /// Container for server-side encryption configuration rules. Currently S3 supports one rule only. + /// Gets and sets the property ServerSideEncryptionConfiguration. /// public ServerSideEncryptionConfiguration ServerSideEncryptionConfiguration { - get { return this.serverSideEncryptionConfiguration; } - set { this.serverSideEncryptionConfiguration = value; } + get { return this._serverSideEncryptionConfiguration; } + set { this._serverSideEncryptionConfiguration = value; } } // Check to see if ServerSideEncryptionConfiguration property is set internal bool IsSetServerSideEncryptionConfiguration() { - return this.serverSideEncryptionConfiguration != null; + return this._serverSideEncryptionConfiguration != null; } + } } \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationRequestMarshaller.cs new file mode 100644 index 000000000000..6915b872ae0b --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationRequestMarshaller.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.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 +{ + /// + /// GetBucketAccelerateConfiguration Request Marshaller + /// + public partial class GetBucketAccelerateConfigurationRequestMarshaller : IMarshaller , IMarshaller + { + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(AmazonWebServiceRequest input) + { + return this.Marshall((GetBucketAccelerateConfigurationRequest)input); + } + + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(GetBucketAccelerateConfigurationRequest publicRequest) + { + var request = new DefaultRequest(publicRequest, "Amazon.S3"); + request.HttpMethod = "GET"; + request.AddSubResource("accelerate"); + + 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.", "GetBucketAccelerateConfigurationRequest.BucketName"); + request.ResourcePath = "/"; + + PostMarshallCustomization(request, publicRequest); + return request; + } + private static GetBucketAccelerateConfigurationRequestMarshaller _instance = new GetBucketAccelerateConfigurationRequestMarshaller(); + + internal static GetBucketAccelerateConfigurationRequestMarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static GetBucketAccelerateConfigurationRequestMarshaller Instance + { + get + { + return _instance; + } + } + + partial void PostMarshallCustomization(DefaultRequest defaultRequest, GetBucketAccelerateConfigurationRequest publicRequest); + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationResponseUnmarshaller.cs new file mode 100644 index 000000000000..a02eaa2fd51b --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketAccelerateConfigurationResponseUnmarshaller.cs @@ -0,0 +1,128 @@ +/* + * 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 GetBucketAccelerateConfiguration operation + /// + public class GetBucketAccelerateConfigurationResponseUnmarshaller : S3ReponseUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) + { + GetBucketAccelerateConfigurationResponse response = new GetBucketAccelerateConfigurationResponse(); + UnmarshallResult(context,response); + if (context.ResponseData.IsHeaderPresent("x-amz-request-charged")) + response.RequestCharged = context.ResponseData.GetHeaderValue("x-amz-request-charged"); + + return response; + } + + private static void UnmarshallResult(XmlUnmarshallerContext context, GetBucketAccelerateConfigurationResponse 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("Status", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + response.Status = 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); + } + + private static GetBucketAccelerateConfigurationResponseUnmarshaller _instance = new GetBucketAccelerateConfigurationResponseUnmarshaller(); + + internal static GetBucketAccelerateConfigurationResponseUnmarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static GetBucketAccelerateConfigurationResponseUnmarshaller Instance + { + get + { + return _instance; + } + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs new file mode 100644 index 000000000000..0125dda50a2d --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketEncryptionRequestMarshaller.cs @@ -0,0 +1,93 @@ +/* + * 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 +{ + /// + /// GetBucketEncryption Request Marshaller + /// + public partial class GetBucketEncryptionRequestMarshaller : IMarshaller , IMarshaller + { + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(AmazonWebServiceRequest input) + { + return this.Marshall((GetBucketEncryptionRequest)input); + } + + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(GetBucketEncryptionRequest publicRequest) + { + var request = new DefaultRequest(publicRequest, "Amazon.S3"); + request.HttpMethod = "GET"; + request.AddSubResource("encryption"); + + 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.", "GetBucketEncryptionRequest.BucketName"); + request.ResourcePath = "/"; + + PostMarshallCustomization(request, publicRequest); + return request; + } + private static GetBucketEncryptionRequestMarshaller _instance = new GetBucketEncryptionRequestMarshaller(); + + internal static GetBucketEncryptionRequestMarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static GetBucketEncryptionRequestMarshaller Instance + { + get + { + return _instance; + } + } + + partial void PostMarshallCustomization(DefaultRequest defaultRequest, GetBucketEncryptionRequest publicRequest); + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketEncryptionResponseUnmarshaller.cs similarity index 53% rename from sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionResponseUnmarshaller.cs rename to sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketEncryptionResponseUnmarshaller.cs index 9911eb066d94..7f92423f5be1 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/GetBucketEncryptionResponseUnmarshaller.cs +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/GetBucketEncryptionResponseUnmarshaller.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -12,63 +12,61 @@ * 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.Net; 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 { /// - /// Get bucket encryption unmarshaller - /// + /// Response Unmarshaller for GetBucketEncryption operation + ///
public class GetBucketEncryptionResponseUnmarshaller : S3ReponseUnmarshaller { /// /// Unmarshaller the response from the service to the response class. - /// + /// /// /// public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { GetBucketEncryptionResponse response = new GetBucketEncryptionResponse(); - - while (context.Read()) - { - if (context.IsStartElement) - { - UnmarshallResult(context, response); - continue; - } - } - - + UnmarshallResult(context,response); + return response; - } + } private static void UnmarshallResult(XmlUnmarshallerContext context, GetBucketEncryptionResponse response) { int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; - - if (context.IsStartOfDocument) - targetDepth += 2; - - response.ServerSideEncryptionConfiguration = new ServerSideEncryptionConfiguration(); + if (context.IsEmptyResponse) + { + return; + } while (context.Read()) { if (context.IsStartElement || context.IsAttribute) { - if (context.TestExpression("Rule", targetDepth)) + if (context.TestExpression("ServerSideEncryptionConfiguration", targetDepth)) { - if (response.ServerSideEncryptionConfiguration.ServerSideEncryptionRules == null) - { - response.ServerSideEncryptionConfiguration.ServerSideEncryptionRules = new List(); - } - response.ServerSideEncryptionConfiguration.ServerSideEncryptionRules.Add(ServerSideEncryptionRuleUnmarshaller.Instance.Unmarshall(context)); + var unmarshaller = ServerSideEncryptionConfigurationUnmarshaller.Instance; + response.ServerSideEncryptionConfiguration = unmarshaller.Unmarshall(context); continue; } } @@ -77,24 +75,50 @@ private static void UnmarshallResult(XmlUnmarshallerContext context, GetBucketEn return; } } + return; } + - private static GetBucketEncryptionResponseUnmarshaller _instance; + /// + /// 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); + } + + private static GetBucketEncryptionResponseUnmarshaller _instance = new GetBucketEncryptionResponseUnmarshaller(); + + internal static GetBucketEncryptionResponseUnmarshaller GetInstance() + { + return _instance; + } /// - /// Singleton for the unmarshaller - /// + /// Gets the singleton. + /// public static GetBucketEncryptionResponseUnmarshaller Instance { get { - if (_instance == null) - { - _instance = new GetBucketEncryptionResponseUnmarshaller(); - } return _instance; } } + } } \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/PutBucketEncryptionRequestMarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/PutBucketEncryptionRequestMarshaller.cs new file mode 100644 index 000000000000..79dcb2fd5377 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/PutBucketEncryptionRequestMarshaller.cs @@ -0,0 +1,156 @@ +/* + * 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 +{ + /// + /// PutBucketEncryption Request Marshaller + /// + public partial class PutBucketEncryptionRequestMarshaller : IMarshaller , IMarshaller + { + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(AmazonWebServiceRequest input) + { + return this.Marshall((PutBucketEncryptionRequest)input); + } + + /// + /// Marshaller the request object to the HTTP request. + /// + /// + /// + public IRequest Marshall(PutBucketEncryptionRequest publicRequest) + { + var request = new DefaultRequest(publicRequest, "Amazon.S3"); + request.HttpMethod = "PUT"; + request.AddSubResource("encryption"); + + 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.", "PutBucketEncryptionRequest.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.IsSetServerSideEncryptionConfiguration()) + { + xmlWriter.WriteStartElement("ServerSideEncryptionConfiguration", "http://s3.amazonaws.com/doc/2006-03-01/"); + var publicRequestServerSideEncryptionConfigurationServerSideEncryptionRules = publicRequest.ServerSideEncryptionConfiguration.ServerSideEncryptionRules; + if (publicRequestServerSideEncryptionConfigurationServerSideEncryptionRules != null && (publicRequestServerSideEncryptionConfigurationServerSideEncryptionRules.Count > 0 || !AWSConfigs.InitializeCollections)) + { + foreach (var publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue in publicRequestServerSideEncryptionConfigurationServerSideEncryptionRules) + { + if (publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue != null) + { + xmlWriter.WriteStartElement("Rule"); + if(publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.IsSetBucketKeyEnabled()) + xmlWriter.WriteElementString("BucketKeyEnabled", StringUtils.FromBool(publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.BucketKeyEnabled.Value)); + if (publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.ServerSideEncryptionByDefault != null) + { + xmlWriter.WriteStartElement("ApplyServerSideEncryptionByDefault"); + if(publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.ServerSideEncryptionByDefault.IsSetServerSideEncryptionAlgorithm()) + xmlWriter.WriteElementString("SSEAlgorithm", StringUtils.FromString(publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.ServerSideEncryptionByDefault.ServerSideEncryptionAlgorithm)); + if(publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.ServerSideEncryptionByDefault.IsSetServerSideEncryptionKeyManagementServiceKeyId()) + xmlWriter.WriteElementString("KMSMasterKeyID", StringUtils.FromString(publicRequestServerSideEncryptionConfigurationServerSideEncryptionRulesValue.ServerSideEncryptionByDefault.ServerSideEncryptionKeyManagementServiceKeyId)); + xmlWriter.WriteEndElement(); + } + xmlWriter.WriteEndElement(); + } + } + } + + xmlWriter.WriteEndElement(); + } + } + try + { + string content = stringWriter.ToString(); + request.Content = System.Text.Encoding.UTF8.GetBytes(content); + request.Headers["Content-Type"] = "application/xml"; + if (publicRequest.IsSetContentMD5()) + request.Headers[Amazon.Util.HeaderKeys.ContentMD5Header] = publicRequest.ContentMD5; + 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); + } + + PostMarshallCustomization(request, publicRequest); + return request; + } + private static PutBucketEncryptionRequestMarshaller _instance = new PutBucketEncryptionRequestMarshaller(); + + internal static PutBucketEncryptionRequestMarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static PutBucketEncryptionRequestMarshaller Instance + { + get + { + return _instance; + } + } + + partial void PostMarshallCustomization(DefaultRequest defaultRequest, PutBucketEncryptionRequest publicRequest); + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/PutBucketEncryptionResponseUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/PutBucketEncryptionResponseUnmarshaller.cs new file mode 100644 index 000000000000..ba640ee35990 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/PutBucketEncryptionResponseUnmarshaller.cs @@ -0,0 +1,95 @@ +/* + * 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 PutBucketEncryption operation + /// + public class PutBucketEncryptionResponseUnmarshaller : S3ReponseUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) + { + PutBucketEncryptionResponse response = new PutBucketEncryptionResponse(); + + 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); + } + + private static PutBucketEncryptionResponseUnmarshaller _instance = new PutBucketEncryptionResponseUnmarshaller(); + + internal static PutBucketEncryptionResponseUnmarshaller GetInstance() + { + return _instance; + } + + /// + /// Gets the singleton. + /// + public static PutBucketEncryptionResponseUnmarshaller Instance + { + get + { + return _instance; + } + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ServerSideEncryptionByDefaultUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionByDefaultUnmarshaller.cs similarity index 62% rename from sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ServerSideEncryptionByDefaultUnmarshaller.cs rename to sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionByDefaultUnmarshaller.cs index c9c7a0338378..2d1372b771d8 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ServerSideEncryptionByDefaultUnmarshaller.cs +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionByDefaultUnmarshaller.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -13,72 +13,80 @@ * 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 { /// - /// ServerSideEncryptionByDefault unmarshaller - /// + /// Response Unmarshaller for ServerSideEncryptionByDefault Object + /// public class ServerSideEncryptionByDefaultUnmarshaller : IXmlUnmarshaller { /// /// Unmarshaller the response from the service to the response class. - /// + /// /// /// public ServerSideEncryptionByDefault Unmarshall(XmlUnmarshallerContext context) { - ServerSideEncryptionByDefault serverSideEncryptionByDefault = new ServerSideEncryptionByDefault(); + ServerSideEncryptionByDefault unmarshalledObject = new ServerSideEncryptionByDefault(); int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; - - if (context.IsStartOfDocument) - targetDepth += 2; - + + if (context.IsStartOfDocument) + targetDepth += 2; + while (context.Read()) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("SSEAlgorithm", targetDepth)) { - serverSideEncryptionByDefault.ServerSideEncryptionAlgorithm = StringUnmarshaller.Instance.Unmarshall(context); + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.ServerSideEncryptionAlgorithm = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("KMSMasterKeyID", targetDepth)) { - serverSideEncryptionByDefault.ServerSideEncryptionKeyManagementServiceKeyId = StringUnmarshaller.Instance.Unmarshall(context); + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.ServerSideEncryptionKeyManagementServiceKeyId = unmarshaller.Unmarshall(context); continue; } } else if (context.IsEndElement && context.CurrentDepth < originalDepth) { - return serverSideEncryptionByDefault; + return unmarshalledObject; } - } - - return serverSideEncryptionByDefault; + } + return unmarshalledObject; } - - private static ServerSideEncryptionByDefaultUnmarshaller _instance; + private static ServerSideEncryptionByDefaultUnmarshaller _instance = new ServerSideEncryptionByDefaultUnmarshaller(); /// - /// Singleton for the unmarshaller - /// + /// Gets the singleton. + /// public static ServerSideEncryptionByDefaultUnmarshaller Instance { get { - if (_instance == null) - { - _instance = new ServerSideEncryptionByDefaultUnmarshaller(); - } return _instance; } } - } } \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionConfigurationUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionConfigurationUnmarshaller.cs new file mode 100644 index 000000000000..39113efbf936 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionConfigurationUnmarshaller.cs @@ -0,0 +1,90 @@ +/* + * 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 ServerSideEncryptionConfiguration Object + /// + public class ServerSideEncryptionConfigurationUnmarshaller : IXmlUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public ServerSideEncryptionConfiguration Unmarshall(XmlUnmarshallerContext context) + { + ServerSideEncryptionConfiguration unmarshalledObject = new ServerSideEncryptionConfiguration(); + int originalDepth = context.CurrentDepth; + int targetDepth = originalDepth + 1; + + if (context.IsStartOfDocument) + targetDepth += 2; + + while (context.Read()) + { + if (context.IsStartElement || context.IsAttribute) + { + if (context.TestExpression("Rule", targetDepth)) + { + if (unmarshalledObject.ServerSideEncryptionRules == null) + { + unmarshalledObject.ServerSideEncryptionRules = new List(); + } + var unmarshaller = ServerSideEncryptionRuleUnmarshaller.Instance; + unmarshalledObject.ServerSideEncryptionRules.Add(unmarshaller.Unmarshall(context)); + continue; + } + } + else if (context.IsEndElement && context.CurrentDepth < originalDepth) + { + return unmarshalledObject; + } + } + return unmarshalledObject; + } + private static ServerSideEncryptionConfigurationUnmarshaller _instance = new ServerSideEncryptionConfigurationUnmarshaller(); + + /// + /// Gets the singleton. + /// + public static ServerSideEncryptionConfigurationUnmarshaller Instance + { + get + { + return _instance; + } + } + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ServerSideEncryptionRuleUnmarshaller.cs b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionRuleUnmarshaller.cs similarity index 62% rename from sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ServerSideEncryptionRuleUnmarshaller.cs rename to sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionRuleUnmarshaller.cs index da555537f6da..0e83dc53bccd 100644 --- a/sdk/src/Services/S3/Custom/Model/Internal/MarshallTransformations/ServerSideEncryptionRuleUnmarshaller.cs +++ b/sdk/src/Services/S3/Generated/Model/Internal/MarshallTransformations/ServerSideEncryptionRuleUnmarshaller.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -13,77 +13,80 @@ * 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.S3.Util; +using Amazon.Runtime.Internal.Util; +#pragma warning disable CS0612,CS0618 namespace Amazon.S3.Model.Internal.MarshallTransformations { /// - /// ServerSideEncryptionRule unmarshaller - /// + /// Response Unmarshaller for ServerSideEncryptionRule Object + /// public class ServerSideEncryptionRuleUnmarshaller : IXmlUnmarshaller { /// /// Unmarshaller the response from the service to the response class. - /// + /// /// /// public ServerSideEncryptionRule Unmarshall(XmlUnmarshallerContext context) { - ServerSideEncryptionRule rule = new ServerSideEncryptionRule(); + ServerSideEncryptionRule unmarshalledObject = new ServerSideEncryptionRule(); int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; - - if (context.IsStartOfDocument) - targetDepth += 2; - + + if (context.IsStartOfDocument) + targetDepth += 2; + while (context.Read()) { if (context.IsStartElement || context.IsAttribute) { - if (context.TestExpression("ApplyServerSideEncryptionByDefault", targetDepth)) + if (context.TestExpression("BucketKeyEnabled", targetDepth)) { - rule.ServerSideEncryptionByDefault = ServerSideEncryptionByDefaultUnmarshaller.Instance.Unmarshall(context); - + var unmarshaller = NullableBoolUnmarshaller.Instance; + unmarshalledObject.BucketKeyEnabled = unmarshaller.Unmarshall(context); continue; } - - if (context.TestExpression("BucketKeyEnabled", targetDepth)) + if (context.TestExpression("ApplyServerSideEncryptionByDefault", targetDepth)) { - rule.BucketKeyEnabled = BoolUnmarshaller.Instance.Unmarshall(context); - + var unmarshaller = ServerSideEncryptionByDefaultUnmarshaller.Instance; + unmarshalledObject.ServerSideEncryptionByDefault = unmarshaller.Unmarshall(context); continue; } } else if (context.IsEndElement && context.CurrentDepth < originalDepth) { - return rule; + return unmarshalledObject; } - } - - return rule; - + } + return unmarshalledObject; } - - private static ServerSideEncryptionRuleUnmarshaller _instance; + private static ServerSideEncryptionRuleUnmarshaller _instance = new ServerSideEncryptionRuleUnmarshaller(); /// - /// Singleton for the unmarshaller - /// + /// Gets the singleton. + /// public static ServerSideEncryptionRuleUnmarshaller Instance { get { - if (_instance == null) - { - _instance = new ServerSideEncryptionRuleUnmarshaller(); - } return _instance; } } - } } \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/ListBucketsResponse.cs b/sdk/src/Services/S3/Generated/Model/ListBucketsResponse.cs index 66e8ddcb9384..55f5adf4afc8 100644 --- a/sdk/src/Services/S3/Generated/Model/ListBucketsResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/ListBucketsResponse.cs @@ -44,6 +44,11 @@ public partial class ListBucketsResponse : AmazonWebServiceResponse /// /// The list of buckets owned by the requester. /// + /// + /// 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 Buckets { diff --git a/sdk/src/Services/S3/Generated/Model/ListDirectoryBucketsResponse.cs b/sdk/src/Services/S3/Generated/Model/ListDirectoryBucketsResponse.cs index 9cea377f54a7..7e2ff95dc9c7 100644 --- a/sdk/src/Services/S3/Generated/Model/ListDirectoryBucketsResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/ListDirectoryBucketsResponse.cs @@ -42,6 +42,11 @@ public partial class ListDirectoryBucketsResponse : AmazonWebServiceResponse /// /// The list of buckets owned by the requester. /// + /// + /// 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 Buckets { diff --git a/sdk/src/Services/S3/Generated/Model/PutBucketEncryptionRequest.cs b/sdk/src/Services/S3/Generated/Model/PutBucketEncryptionRequest.cs new file mode 100644 index 000000000000..b536df68270e --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/PutBucketEncryptionRequest.cs @@ -0,0 +1,319 @@ +/* + * 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 PutBucketEncryption operation. + /// This operation configures default encryption and Amazon S3 Bucket Keys for an existing + /// bucket. + /// + /// + /// + /// Directory buckets - For directory buckets, you must make requests for this + /// API operation to the Regional endpoint. These endpoints support path-style requests + /// in the format https://s3express-control.region-code.amazonaws.com/bucket-name + /// . Virtual-hosted-style requests aren't 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. + /// + /// + /// + /// By default, all buckets have a default encryption configuration that uses server-side + /// encryption with Amazon S3 managed keys (SSE-S3). + /// + ///
  • + /// + /// General purpose buckets + /// + ///
    • + /// + /// You can optionally configure default encryption for a bucket by using server-side + /// encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side + /// encryption with Amazon Web Services KMS keys (DSSE-KMS). If you specify default encryption + /// by using SSE-KMS, you can also configure Amazon + /// S3 Bucket Keys. For information about the bucket default encryption feature, see + /// Amazon + /// S3 Bucket Default Encryption in the Amazon S3 User Guide. + /// + ///
    • + /// + /// If you use PutBucketEncryption to set your default + /// bucket encryption to SSE-KMS, you should verify that your KMS key ID is correct. + /// Amazon S3 doesn't validate the KMS key ID provided in PutBucketEncryption requests. + /// + ///
  • + /// + /// Directory buckets - You can optionally configure default encryption for a + /// bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-KMS). + /// + ///
    • + /// + /// We recommend that the bucket's default encryption uses the desired encryption configuration + /// and you don't override the bucket default encryption in your CreateSession + /// requests or PUT object requests. Then, new objects are automatically encrypted + /// with the desired encryption settings. For more information about the encryption overriding + /// behaviors in directory buckets, see Specifying + /// server-side encryption with KMS for new object uploads. + /// + ///
    • + /// + /// Your SSE-KMS configuration can only support 1 customer + /// managed key per directory bucket's lifetime. The Amazon + /// Web Services managed key (aws/s3) isn't supported. + /// + ///
    • + /// + /// S3 Bucket Keys are always enabled for GET and PUT operations in a directory + /// bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS + /// encrypted objects from general purpose buckets to directory buckets, from directory + /// buckets to general purpose buckets, or between directory buckets, through CopyObject, + /// UploadPartCopy, + /// the + /// Copy operation in Batch Operations, or the + /// import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request + /// is made for a KMS-encrypted object. + /// + ///
    • + /// + /// When you specify an KMS + /// customer managed key for encryption in your directory bucket, only use the key + /// ID or key ARN. The key alias format of the KMS key isn't supported. + /// + ///
    • + /// + /// For directory buckets, if you use PutBucketEncryption to set your default + /// bucket encryption to SSE-KMS, Amazon S3 validates the KMS key ID provided in PutBucketEncryption + /// requests. + /// + ///
+ /// + /// If you're specifying a customer managed KMS key, we recommend using a fully qualified + /// KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within + /// the requester’s account. This behavior can result in data that's encrypted with a + /// KMS key that belongs to the requester, and not the bucket owner. + /// + /// + /// + /// Also, this action requires Amazon Web Services Signature Version 4. For more information, + /// see + /// Authenticating Requests (Amazon Web Services Signature Version 4). + /// + ///
Permissions
  • + /// + /// General purpose bucket permissions - The s3:PutEncryptionConfiguration + /// permission is required in a policy. The bucket owner has this permission by default. + /// The bucket owner can grant this permission to others. For more information about permissions, + /// see Permissions + /// Related to Bucket Operations and Managing + /// Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide. + /// + ///
  • + /// + /// Directory bucket permissions - To grant access to this API operation, you + /// must have the s3express:PutEncryptionConfiguration permission in an IAM identity-based + /// policy instead of a bucket policy. Cross-account access to this API operation isn't + /// supported. This operation can only be performed by the Amazon Web Services account + /// that owns the resource. For more information about directory bucket policies and permissions, + /// see Amazon + /// Web Services Identity and Access Management (IAM) for S3 Express One Zone in the + /// Amazon S3 User Guide. + /// + /// + /// + /// To set a directory bucket default encryption with SSE-KMS, you must also have the + /// kms:GenerateDataKey and the kms:Decrypt permissions in IAM identity-based + /// policies and KMS key policies for the target KMS key. + /// + ///
HTTP Host header syntax
+ /// + /// Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com. + /// + ///
+ /// + /// The following operations are related to PutBucketEncryption: + /// + /// + ///
+ public partial class PutBucketEncryptionRequest : AmazonWebServiceRequest + { + private string _bucketName; + private ChecksumAlgorithm _checksumAlgorithm; + private string _contentMD5; + private string _expectedBucketOwner; + private ServerSideEncryptionConfiguration _serverSideEncryptionConfiguration; + + /// + /// Gets and sets the property BucketName. + /// + /// Specifies default encryption for a bucket using server-side encryption with different + /// key options. + /// + /// + /// + /// Directory buckets - When you use this operation with a directory bucket, + /// you must use path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name + /// . Virtual-hosted-style requests aren't supported. Directory bucket names must + /// be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must + /// also follow the format bucket-base-name--zone-id--x-s3 (for + /// example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information + /// about bucket naming restrictions, see Directory + /// bucket naming rules in the Amazon S3 User Guide + /// + /// + 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. + /// + /// Indicates the algorithm used to create the checksum for the request when you use the + /// SDK. This header will not provide any additional functionality if you don't use the + /// SDK. When you send this header, there must be a corresponding x-amz-checksum + /// or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the + /// HTTP status code 400 Bad Request. For more information, see Checking + /// object integrity in the Amazon S3 User Guide. + /// + /// + /// + /// If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm + /// parameter. + /// + /// + /// + /// For directory buckets, when you use Amazon Web Services SDKs, CRC32 is the + /// default checksum algorithm that's used for performance. + /// + /// + /// + 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 Base64 encoded 128-bit MD5 digest of the server-side encryption configuration. + /// + /// + /// + /// For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon + /// Web Services SDKs, this field is calculated automatically. + /// + /// + /// + /// This functionality is not supported for directory buckets. + /// + /// + /// + public string ContentMD5 + { + get { return this._contentMD5; } + set { this._contentMD5 = value; } + } + + // Check to see if ContentMD5 property is set + internal bool IsSetContentMD5() + { + return this._contentMD5 != null; + } + + /// + /// Gets and sets the property ExpectedBucketOwner. + /// + /// 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). + /// + /// + /// + /// For directory buckets, this header is not supported in this API operation. If you + /// specify this header, the request fails with the HTTP status code 501 Not Implemented. + /// + /// + /// + public string ExpectedBucketOwner + { + get { return this._expectedBucketOwner; } + set { this._expectedBucketOwner = value; } + } + + // Check to see if ExpectedBucketOwner property is set + internal bool IsSetExpectedBucketOwner() + { + return this._expectedBucketOwner != null; + } + + /// + /// Gets and sets the property ServerSideEncryptionConfiguration. + /// + [AWSProperty(Required=true)] + public ServerSideEncryptionConfiguration ServerSideEncryptionConfiguration + { + get { return this._serverSideEncryptionConfiguration; } + set { this._serverSideEncryptionConfiguration = value; } + } + + // Check to see if ServerSideEncryptionConfiguration property is set + internal bool IsSetServerSideEncryptionConfiguration() + { + return this._serverSideEncryptionConfiguration != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Custom/Model/PutBucketEncryptionResponse.cs b/sdk/src/Services/S3/Generated/Model/PutBucketEncryptionResponse.cs similarity index 71% rename from sdk/src/Services/S3/Custom/Model/PutBucketEncryptionResponse.cs rename to sdk/src/Services/S3/Generated/Model/PutBucketEncryptionResponse.cs index 00bdef8a4801..972235010f6b 100644 --- a/sdk/src/Services/S3/Custom/Model/PutBucketEncryptionResponse.cs +++ b/sdk/src/Services/S3/Generated/Model/PutBucketEncryptionResponse.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). @@ -12,19 +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; -namespace Amazon.S3 +#pragma warning disable CS0612,CS0618,CS1570 +namespace Amazon.S3.Model { /// - /// The response from the PutBucketEncryption operation. + /// This is the response object from the PutBucketEncryption operation. /// public partial class PutBucketEncryptionResponse : AmazonWebServiceResponse { + } } \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionByDefault.cs b/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionByDefault.cs new file mode 100644 index 000000000000..b3f42f41cf2d --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionByDefault.cs @@ -0,0 +1,164 @@ +/* + * 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 +{ + /// + /// Describes the default server-side encryption to apply to new objects in the bucket. + /// If a PUT Object request doesn't specify any server-side encryption, this default encryption + /// will be applied. For more information, see PutBucketEncryption. + /// + ///
  • + /// + /// General purpose buckets - If you don't specify a customer managed key at configuration, + /// Amazon S3 automatically creates an Amazon Web Services KMS key (aws/s3) in + /// your Amazon Web Services account the first time that you add an object encrypted with + /// SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. + /// + ///
  • + /// + /// Directory buckets - Your SSE-KMS configuration can only support 1 customer + /// managed key per directory bucket's lifetime. The Amazon + /// Web Services managed key (aws/s3) isn't supported. + /// + ///
  • + /// + /// Directory buckets - For directory buckets, there are only two supported options + /// for server-side encryption: SSE-S3 and SSE-KMS. + /// + ///
+ ///
+ public partial class ServerSideEncryptionByDefault + { + private ServerSideEncryptionMethod _serverSideEncryptionAlgorithm; + private string _serverSideEncryptionKeyManagementServiceKeyId; + + /// + /// Gets and sets the property ServerSideEncryptionAlgorithm. + /// + /// Server-side encryption algorithm to use for the default encryption. + /// + /// + /// + /// For directory buckets, there are only two supported values for server-side encryption: + /// AES256 and aws:kms. + /// + /// + /// + public ServerSideEncryptionMethod ServerSideEncryptionAlgorithm + { + get { return this._serverSideEncryptionAlgorithm; } + set { this._serverSideEncryptionAlgorithm = value; } + } + + // Check to see if ServerSideEncryptionAlgorithm property is set + internal bool IsSetServerSideEncryptionAlgorithm() + { + return this._serverSideEncryptionAlgorithm != null; + } + + /// + /// Gets and sets the property ServerSideEncryptionKeyManagementServiceKeyId. + /// + /// Amazon Web Services Key Management Service (KMS) customer managed key ID to use for + /// the default encryption. + /// + ///
  • + /// + /// General purpose buckets - This parameter is allowed if and only if SSEAlgorithm + /// is set to aws:kms or aws:kms:dsse. + /// + ///
  • + /// + /// Directory buckets - This parameter is allowed if and only if SSEAlgorithm + /// is set to aws:kms. + /// + ///
+ /// + /// You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS + /// key. + /// + ///
  • + /// + /// Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + /// + ///
  • + /// + /// Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + /// + /// + ///
  • + /// + /// Key Alias: alias/alias-name + /// + ///
+ /// + /// If you are using encryption with cross-account or Amazon Web Services service operations, + /// you must use a fully qualified KMS key ARN. For more information, see Using + /// encryption for cross-account operations. + /// + ///
  • + /// + /// General purpose buckets - If you're specifying a customer managed KMS key, + /// we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, + /// then KMS resolves the key within the requester’s account. This behavior can result + /// in data that's encrypted with a KMS key that belongs to the requester, and not the + /// bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable + /// error when creating a VPC flow log. + /// + ///
  • + /// + /// Directory buckets - When you specify an KMS + /// customer managed key for encryption in your directory bucket, only use the key + /// ID or key ARN. The key alias format of the KMS key isn't supported. + /// + ///
+ /// + /// Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric + /// keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service + /// Developer Guide. + /// + /// + ///
+ [AWSProperty(Sensitive=true)] + public string ServerSideEncryptionKeyManagementServiceKeyId + { + get { return this._serverSideEncryptionKeyManagementServiceKeyId; } + set { this._serverSideEncryptionKeyManagementServiceKeyId = value; } + } + + // Check to see if ServerSideEncryptionKeyManagementServiceKeyId property is set + internal bool IsSetServerSideEncryptionKeyManagementServiceKeyId() + { + return this._serverSideEncryptionKeyManagementServiceKeyId != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionConfiguration.cs b/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionConfiguration.cs new file mode 100644 index 000000000000..edd7be43d8c0 --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionConfiguration.cs @@ -0,0 +1,64 @@ +/* + * 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 +{ + /// + /// Specifies the default server-side-encryption configuration. + /// + public partial class ServerSideEncryptionConfiguration + { + private List _serverSideEncryptionRules = AWSConfigs.InitializeCollections ? new List() : null; + + /// + /// Gets and sets the property ServerSideEncryptionRules. + /// + /// Container for information about a particular server-side encryption configuration + /// rule. + /// + /// + /// 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 ServerSideEncryptionRules + { + get { return this._serverSideEncryptionRules; } + set { this._serverSideEncryptionRules = value; } + } + + // Check to see if ServerSideEncryptionRules property is set + internal bool IsSetServerSideEncryptionRules() + { + return this._serverSideEncryptionRules != null && (this._serverSideEncryptionRules.Count > 0 || !AWSConfigs.InitializeCollections); + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionRule.cs b/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionRule.cs new file mode 100644 index 000000000000..832b9249ff6e --- /dev/null +++ b/sdk/src/Services/S3/Generated/Model/ServerSideEncryptionRule.cs @@ -0,0 +1,118 @@ +/* + * 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 +{ + /// + /// Specifies the default server-side encryption configuration. + /// + ///
  • + /// + /// General purpose buckets - If you're specifying a customer managed KMS key, + /// we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, + /// then KMS resolves the key within the requester’s account. This behavior can result + /// in data that's encrypted with a KMS key that belongs to the requester, and not the + /// bucket owner. + /// + ///
  • + /// + /// Directory buckets - When you specify an KMS + /// customer managed key for encryption in your directory bucket, only use the key + /// ID or key ARN. The key alias format of the KMS key isn't supported. + /// + ///
+ ///
+ public partial class ServerSideEncryptionRule + { + private bool? _bucketKeyEnabled; + private ServerSideEncryptionByDefault _serverSideEncryptionByDefault; + + /// + /// Gets and sets the property BucketKeyEnabled. + /// + /// Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption + /// using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. + /// Setting the BucketKeyEnabled element to true causes Amazon S3 to use + /// an S3 Bucket Key. + /// + ///
  • + /// + /// General purpose buckets - By default, S3 Bucket Key is not enabled. For more + /// information, see Amazon + /// S3 Bucket Keys in the Amazon S3 User Guide. + /// + ///
  • + /// + /// Directory buckets - S3 Bucket Keys are always enabled for GET and PUT + /// operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, + /// when you copy SSE-KMS encrypted objects from general purpose buckets to directory + /// buckets, from directory buckets to general purpose buckets, or between directory buckets, + /// through CopyObject, + /// UploadPartCopy, + /// the + /// Copy operation in Batch Operations, or the + /// import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request + /// is made for a KMS-encrypted object. + /// + ///
+ ///
+ public bool? BucketKeyEnabled + { + get { return this._bucketKeyEnabled; } + set { this._bucketKeyEnabled = value; } + } + + // Check to see if BucketKeyEnabled property is set + internal bool IsSetBucketKeyEnabled() + { + return this._bucketKeyEnabled.HasValue; + } + + /// + /// Gets and sets the property ServerSideEncryptionByDefault. + /// + /// Specifies the default server-side encryption to apply to new objects in the bucket. + /// If a PUT Object request doesn't specify any server-side encryption, this default encryption + /// will be applied. + /// + /// + public ServerSideEncryptionByDefault ServerSideEncryptionByDefault + { + get { return this._serverSideEncryptionByDefault; } + set { this._serverSideEncryptionByDefault = value; } + } + + // Check to see if ServerSideEncryptionByDefault property is set + internal bool IsSetServerSideEncryptionByDefault() + { + return this._serverSideEncryptionByDefault != null; + } + + } +} \ No newline at end of file