// ------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version: 17.0.0.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
// ------------------------------------------------------------------------------
namespace ServiceClientGenerator.Generators.SourceFiles
{
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System;
///
/// Class to produce the template output
///
#line 1 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
public partial class StructureGenerator : BaseGenerator
{
#line hidden
///
/// Create the template output
///
public override string TransformText()
{
#line 6 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
AddLicenseHeader();
#line default
#line hidden
this.Write("using System;\r\nusing System.Collections.Generic;\r\nusing System.Xml.Serialization;" +
"\r\nusing System.Text;\r\nusing System.IO;\r\nusing System.Net;\r\n\r\nusing Amazon.Runtim" +
"e;\r\nusing Amazon.Runtime.Internal;\r\n");
#line 18 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(this.StructureType == StructureType.Request && this.Operation.AuthType.HasValue)
{
#line default
#line hidden
this.Write("using Amazon.Runtime.Internal.Auth;\r\n");
#line 23 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 26 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(this.Structure != null && (this.Structure.IsEvent || this.Structure.IsEventStream))
{
#line default
#line hidden
this.Write("using Amazon.Runtime.EventStreams;\r\nusing Amazon.Runtime.EventStreams.Internal;\r\n" +
"");
#line 32 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write("\r\nnamespace ");
#line 36 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.Namespace));
#line default
#line hidden
this.Write(".Model\r\n{\r\n");
#line 38 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(this.StructureType == StructureType.Request)
this.FormatOperationRequestDocumentation(this.Operation);
else if (this.Operation != null && GeneratorHelpers.HasSuppressedResult(this.Operation))
this.FormatVoidResultDocumentation(this.Operation.Name);
else if(this.StructureType == StructureType.Response && (this.Structure == null || string.IsNullOrEmpty(this.Structure.Documentation)))
{
#line default
#line hidden
this.Write(" /// \r\n /// This is the response object from the ");
#line 47 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Operation.Name));
#line default
#line hidden
this.Write(" operation.\r\n /// \r\n");
#line 49 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else
this.FormatClassDocumentation(this.Structure);
#line default
#line hidden
#line 54 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(this.Structure != null && this.Structure.IsDeprecated)
{
#line default
#line hidden
this.Write(" [Obsolete(\"");
#line 58 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.DeprecationMessage));
#line default
#line hidden
this.Write("\")]\r\n");
#line 59 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
if(this.Structure is ExceptionShape)
{
#line default
#line hidden
this.Write(" #if !NETSTANDARD\r\n [Serializable]\r\n #endif\r\n");
#line 67 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 70 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(this.Structure != null && this.Structure.IsEventStream)
{ // top if block
#line default
#line hidden
this.Write("\r\n [System.Diagnostics.CodeAnalysis.SuppressMessage(\"Naming\", \"CA1710:Identifi" +
"ers should have correct suffix\", Justification = \"");
#line 76 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(@"Collection is not descriptive"")]
[System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Design"", ""CA1063"", Justification = ""IDisposable is a transient interface from IEventStream. Users need to be able to call Dispose."")]
public sealed class ");
#line 78 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(" : EnumerableEventStream
{
///summary>
///The mapping of event message to a generator function to construct the matching EventStream event
///
protected override IDictionary> EventMapping {get;} =
new Dictionary>
{
");
#line 86 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
foreach(var member in this.Structure.Members)
{
if(member.ModelShape.IsEvent)
{
#line default
#line hidden
this.Write(" {\"");
#line 92 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("\", payload => new ");
#line 92 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
this.Write("(payload)},\r\n");
#line 93 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
}
#line default
#line hidden
this.Write(" };\r\n /// \r\n /// The mapping of event message to a " +
"generator function to construct the matching EventStream Exception\r\n /// " +
"\r\n protected override IDictionary> ExceptionMapping {get;} =\r\n new Dictionary>
{
};
// Backing by a volatile bool. The flag only changes one way, so no need for a lock.
// This is located in the subclass to be CLS compliant.
private volatile bool _isProcessing;
///
/// Whether the backround processing loop is running.
///
protected override bool IsProcessing
{
get { return _isProcessing; }
set { _isProcessing = value; }
}
public override event EventHandler> EventReceived;
public override event EventHandler> ExceptionReceived;\r\n");
#line 119 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
foreach(var member in this.Structure.Members)
{
if(member.ModelShape.IsEvent)
{
#line default
#line hidden
this.Write(" ///\r\n ///Raised when an ");
#line 126 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" event is received\r\n ///\r\n public event EventHandler> ");
#line 128 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("Received;\r\n");
#line 129 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
}
#line default
#line hidden
this.Write(" public ");
#line 133 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("(Stream stream) : this (stream, null)\r\n {\r\n }\r\n public ");
#line 136 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(@"(Stream stream, IEventStreamDecoder eventStreamDecoder) : base(stream, eventStreamDecoder)
{
base.EventReceived += (sender,args) => EventReceived?.Invoke(this, args);
base.ExceptionReceived += (sender,args) => ExceptionReceived?.Invoke(this, args);
//Mapping the generic Event to more specific Events
Decoder.MessageReceived += (sender, args) =>
{
IEventStreamEvent ev;
try
{
ev = ConvertMessageToEvent(args.Message);
}
catch(UnknownEventStreamException)
{
throw new UnknownEventStreamException(""Received an unknown event stream type"");
}
EventReceived?.Invoke(this, new EventStreamEventReceivedArgs(ev));
//Call RaiseEvent until it returns true or all calls complete. This way only a subset of casts is perfromed
// and we can avoid a cascade of nested if else statements. The result is thrown away
var _ =
");
#line 158 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
var eventMembers = this.Structure.Members.Where(m => m.ModelShape.IsEvent).ToArray();
if(eventMembers.Length == 1)
{
#line default
#line hidden
this.Write(" RaiseEvent(");
#line 163 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(eventMembers[0].PropertyName));
#line default
#line hidden
this.Write("Received,ev);\r\n");
#line 164 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else if (eventMembers.Length > 1)
{
for(int i = 0; i < eventMembers.Length - 1; i++)
{
#line default
#line hidden
this.Write(" RaiseEvent(");
#line 171 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(eventMembers[i].PropertyName));
#line default
#line hidden
this.Write("Received,ev) ||\r\n");
#line 172 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" RaiseEvent(");
#line 175 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(eventMembers.Last().PropertyName));
#line default
#line hidden
this.Write("Received,ev);\r\n");
#line 176 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(@" };
}
private bool RaiseEvent(EventHandler> eventHandler, IEventStreamEvent ev) where T : class, IEventStreamEvent
{
var convertedEvent = ev as T;
if (convertedEvent != null)
{
eventHandler?.Invoke(this, new EventStreamEventReceivedArgs(convertedEvent));
return true;
}
return false;
}
");
#line 192 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 195 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
bool hasStreamingMember = this.Structure?.Members.Any(member => member.IsStreaming) ?? false;
bool structureContainsEventPayload = this.Structure?.Members.Any(member => member.IsEventPayload) ?? false;
Member payloadMember = null;
if(structureContainsEventPayload)
{
payloadMember = this.Structure?.Members.Single(member => member.IsEventPayload);
}
bool structureIsNotEventStream = this.Structure != null && !this.Structure.IsEventStream;
bool structureIsEvent = this.Structure != null && this.Structure.IsEvent;
if (structureIsNotEventStream && this.StructureType == StructureType.Response && hasStreamingMember)
{
#line default
#line hidden
this.Write(" public partial class ");
#line 209 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.ClassName));
#line default
#line hidden
#line 209 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.BaseClassString));
#line default
#line hidden
this.Write(", IDisposable\r\n {\r\n");
#line 211 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else
{
#line default
#line hidden
#line 216 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if( (this.Structure == null) || (structureIsNotEventStream))
{
#line default
#line hidden
this.Write(" public partial class ");
#line 220 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.ClassName));
#line default
#line hidden
#line 220 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.BaseClassString));
#line default
#line hidden
this.Write("\r\n");
#line 221 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(structureIsEvent)
{
#line default
#line hidden
this.Write(" : IEventStreamEvent\r\n");
#line 226 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 229 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(structureIsEvent && !structureContainsEventPayload)
{
#line default
#line hidden
this.Write(" ,IEventStreamTerminalEvent\r\n");
#line 234 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" {\r\n");
#line 238 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 241 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 244 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(structureIsEvent)
{
#line default
#line hidden
this.Write(" public ");
#line 248 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Structure.Name));
#line default
#line hidden
this.Write("()\r\n {\r\n }\r\n\r\n public ");
#line 252 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(Structure.Name));
#line default
#line hidden
this.Write("(IEventStreamMessage message)\r\n {\r\n");
#line 254 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(structureContainsEventPayload)
{
#line default
#line hidden
this.Write(" ");
#line 258 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(payloadMember.PropertyName));
#line default
#line hidden
this.Write(" = new ");
#line 258 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(payloadMember.DetermineType()));
#line default
#line hidden
this.Write("(message.Payload);\r\n");
#line 259 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" }\r\n");
#line 263 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
#line 266 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(structureIsNotEventStream)
{
if(this.IsWrapped)
{
#line default
#line hidden
this.Write(" private ");
#line 272 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(" _response;\r\n\r\n /// \r\n /// Gets and sets the ");
#line 275 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(" property.\r\n /// \r\n public ");
#line 277 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(" ");
#line 277 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("\r\n {\r\n get { return this._response; }\r\n set { this._" +
"response = value; }\r\n }\r\n");
#line 282 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else
{
foreach(var member in this.Structure.Members)
{
if (member.IsExcluded)
continue;
#line default
#line hidden
this.Write(" private ");
#line 291 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
#line 291 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.IsNullable ? "?" : ""));
#line default
#line hidden
this.Write(" ");
#line 291 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
#line 291 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.ShouldInstantiate ? string.Format(" = new {0}();", member.DetermineType()) : ";"));
#line default
#line hidden
this.Write("\r\n");
#line 292 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write("\r\n");
#line 296 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
AddSimpleRequestConstructors(this.ClassName, this.Structure, this.Config.Namespace);
if(this.Structure is ExceptionShape)
{
var exceptionShape = (ExceptionShape)this.Structure;
if (exceptionShape.IsRetryable)
{
#line default
#line hidden
this.Write(" private RetryableDetails _retryableDetails = new RetryableDetails(");
#line 305 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(exceptionShape.Throttling.ToString().ToLower()));
#line default
#line hidden
this.Write(");\r\n");
#line 306 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
#line default
#line hidden
this.Write("\r\n");
#line 309 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" /// \r\n /// Constructs a new ");
#line 2 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(" with the specified error\r\n /// message.\r\n /// \r\n " +
"/// \r\n /// Describes the error encountered.\r\n " +
" /// \r\n public ");
#line 8 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("(string message) \r\n : base(message) {}\r\n\r\n /// \r\n " +
" /// Construct instance of ");
#line 12 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("\r\n /// \r\n /// \r\n ///" +
" \r\n public ");
#line 16 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("(string message, Exception innerException) \r\n : base(message, innerExc" +
"eption) {}\r\n\r\n /// \r\n /// Construct instance of ");
#line 20 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("\r\n /// \r\n /// \r\n " +
" public ");
#line 23 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("(Exception innerException) \r\n : base(innerException) {}\r\n\r\n ///" +
" \r\n /// Construct instance of ");
#line 27 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(@"
///
///
///
///
///
///
///
public ");
#line 35 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(@"(string message, Exception innerException, Amazon.Runtime.ErrorType errorType, string errorCode, string requestId, HttpStatusCode statusCode)
: base(message, innerException, errorType, errorCode, requestId, statusCode) {}
///
/// Construct instance of ");
#line 39 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(@"
///
///
///
///
///
///
public ");
#line 46 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionConstructors.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("(string message, Amazon.Runtime.ErrorType errorType, string errorCode, string req" +
"uestId, HttpStatusCode statusCode) \r\n : base(message, errorType, erro" +
"rCode, requestId, statusCode) {}\r\n\r\n");
this.Write("\r\n");
this.Write("#if !NETSTANDARD\r\n /// \r\n /// Constructs a new instance of" +
" the ");
#line 3 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write(@" class with serialized data.
///
/// The that holds the serialized object data about the exception being thrown.
/// The that contains contextual information about the source or destination.
/// The parameter is null.
/// The class name is null or is zero (0).
protected ");
#line 9 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Structure.Name));
#line default
#line hidden
this.Write("(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serializatio" +
"n.StreamingContext context)\r\n : base(info, context)\r\n {\r\n");
#line 12 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
foreach(var member in this.Structure.Members)
{
#line default
#line hidden
this.Write(" this.");
#line 16 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" = (");
#line 16 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
this.Write(")info.GetValue(\"");
#line 16 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("\", typeof(");
#line 16 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
this.Write("));\r\n");
#line 17 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
}
#line default
#line hidden
this.Write(" }\r\n\r\n /// \r\n /// Sets the with information about the exception.\r\n " +
" /// \r\n /// The that holds the serialized object data " +
"about the exception being thrown.\r\n /// The" +
" that contains co" +
"ntextual information about the source or destination.\r\n /// The paramet" +
"er is a null reference (Nothing in Visual Basic). \r\n#if BCL35\r\n " +
" [System.Security.Permissions.SecurityPermission(\r\n System.Security" +
".Permissions.SecurityAction.LinkDemand,\r\n Flags = System.Security.Per" +
"missions.SecurityPermissionFlag.SerializationFormatter)]\r\n#endif\r\n [Syste" +
"m.Security.SecurityCritical]\r\n // These FxCop rules are giving false-posi" +
"tives for this method\r\n [System.Diagnostics.CodeAnalysis.SuppressMessage(" +
"\"Microsoft.Security\", \"CA2123:OverrideLinkDemandsShouldBeIdenticalToBase\")]\r\n " +
" [System.Diagnostics.CodeAnalysis.SuppressMessage(\"Microsoft.Security\", \"CA2" +
"134:MethodsMustOverrideWithConsistentTransparencyFxCopRule\")]\r\n public ov" +
"erride void GetObjectData(System.Runtime.Serialization.SerializationInfo info, S" +
"ystem.Runtime.Serialization.StreamingContext context)\r\n {\r\n ba" +
"se.GetObjectData(info, context);\r\n");
#line 40 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
foreach(var member in this.Structure.Members)
{
#line default
#line hidden
this.Write(" info.AddValue(\"");
#line 44 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("\", this.");
#line 44 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(");\r\n");
#line 45 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\.\Exceptions\ExceptionSerialization.t4"
}
#line default
#line hidden
this.Write(" }\r\n#endif\r\n");
this.Write("\r\n");
#line 314 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
foreach(var member in this.Structure.Members)
{
if (member.IsExcluded)
continue;
#line default
#line hidden
#line 321 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.FormatPropertyDocumentation(member);
#line default
#line hidden
#line 322 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(member.IsDeprecated)
{
#line default
#line hidden
this.Write(" [Obsolete(\"");
#line 326 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DeprecationMessage));
#line default
#line hidden
this.Write("\")]\r\n");
#line 327 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
var propertyAttributes = new List();
if(member.IsRequired && !member.IsIdempotent)
{
propertyAttributes.Add("Required=true");
}
if (member.Shape.Sensitive)
{
propertyAttributes.Add("Sensitive=true");
}
if (member.Shape.Min.HasValue)
{
propertyAttributes.Add("Min=" + member.Shape.Min);
}
if (member.Shape.Max.HasValue)
{
propertyAttributes.Add("Max=" + member.Shape.Max);
}
if (propertyAttributes.Count > 0)
{
#line default
#line hidden
this.Write(" [AWSProperty(");
#line 350 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(string.Join(", ", propertyAttributes)));
#line default
#line hidden
this.Write(")]\r\n");
#line 351 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" ");
#line 354 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.AccessModifier));
#line default
#line hidden
this.Write(" ");
#line 354 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
#line 354 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.UseNullable ? "?" : ""));
#line default
#line hidden
this.Write(" ");
#line 354 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("\r\n {\r\n");
#line 356 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(member.IsNullable && !member.UseNullable)
{
#line default
#line hidden
this.Write(" get { return this.");
#line 360 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(".GetValueOrDefault(); }\r\n");
#line 361 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else
{
#line default
#line hidden
this.Write(" get { return this.");
#line 366 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write("; }\r\n");
#line 367 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" set { ");
#line 370 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.IsBackwardsCompatibleDateTimeProperty ? "this." + member.BackwardCompatibilityVariableName + " = " : ""));
#line default
#line hidden
this.Write("this.");
#line 370 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(" = value; }\r\n }\r\n\r\n");
#line 373 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if (member.EmitIsSetProperties)
{
#line default
#line hidden
this.Write(" /// \r\n /// This property is set to true if the property <" +
"seealso cref=\"");
#line 378 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(@"""/>
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
");
#line 387 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(member.IsDeprecated)
{
#line default
#line hidden
this.Write(" [Obsolete(\"");
#line 391 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DeprecationMessage));
#line default
#line hidden
this.Write("\")]\r\n");
#line 392 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" public bool Is");
#line 395 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("Set\r\n {\r\n get\r\n {\r\n return Amazon.Uti" +
"l.Internal.InternalSDKUtils.GetIsSet(this.");
#line 399 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(");\r\n }\r\n set\r\n {\r\n Amazon.Util.In" +
"ternal.InternalSDKUtils.SetIsSet(value, ref this.");
#line 403 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(");\r\n");
#line 404 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if(member.IsBackwardsCompatibleDateTimeProperty)
{
#line default
#line hidden
this.Write(" \r\n Amazon.Util.Internal.InternalSDKUtils.SetIsSet(value, ref thi" +
"s.");
#line 408 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityVariableName));
#line default
#line hidden
this.Write(");\r\n");
#line 409 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" }\r\n }\r\n\r\n");
#line 415 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" // Check to see if ");
#line 418 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" property is set\r\n internal bool IsSet");
#line 419 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("()\r\n {\r\n");
#line 421 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if (member.EmitIsSetProperties)
{
#line default
#line hidden
this.Write(" return this.Is");
#line 425 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("Set; \r\n");
#line 426 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else if (member.IsNullable)
{
#line default
#line hidden
this.Write(" return this.");
#line 431 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(".HasValue; \r\n");
#line 432 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else if (member.IsMap || member.IsList)
{
#line default
#line hidden
this.Write(" return this.");
#line 437 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(" != null && this.");
#line 437 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(".Count > 0; \r\n");
#line 438 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else if (member.IsDocument)
{
#line default
#line hidden
this.Write(" return !this.");
#line 443 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(".IsNull();\r\n");
#line 444 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
else
{
#line default
#line hidden
this.Write(" return this.");
#line 449 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(" != null;\r\n");
#line 450 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" }\r\n\r\n");
#line 455 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
if (this.StructureType == StructureType.Request && this.Operation.AuthType.HasValue)
{
#line default
#line hidden
this.Write(" /// \r\n /// Get the signer to use for this request.\r\n " +
" /// \r\n /// A signer for this request.\r\n " +
" override protected AbstractAWSSigner CreateSigner()\r\n {\r\n");
#line 467 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
switch (this.Operation.AuthType.Value)
{
case OperationAuthType.None:
#line default
#line hidden
this.Write(" return new NullSigner();\r\n");
#line 473 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
break;
case OperationAuthType.V4:
#line default
#line hidden
this.Write(" return new AWS4Signer();\r\n");
#line 478 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
break;
case OperationAuthType.V4UnsignedBody:
#line default
#line hidden
this.Write(" return new AWS4Signer(false);\r\n");
#line 483 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
break;
case OperationAuthType.Bearer:
#line default
#line hidden
this.Write(" return new BearerTokenSigner();\r\n");
#line 488 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
break;
default:
throw new ArgumentException("Unhandled value for operation authtype:" + this.Operation.AuthType.Value);
}
#line default
#line hidden
this.Write(" }\r\n");
#line 495 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
// Flexible checksum overrides to allow response validation configuration on the request
if (this.StructureType == StructureType.Request && !string.IsNullOrEmpty(this.Operation.ChecksumConfiguration?.RequestValidationModeMember))
{
#line default
#line hidden
this.Write(@"
#region Flexible checksum properties
///
/// This must be enabled to retrieve the checksum
///
protected override CoreChecksumResponseBehavior CoreChecksumMode
{
get
{
if (IsSet");
#line 509 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Operation.ChecksumConfiguration.RequestValidationModeMember));
#line default
#line hidden
this.Write("())\r\n {\r\n return (CoreChecksumResponseBehavior)" +
"Enum.Parse(typeof(CoreChecksumResponseBehavior), this.");
#line 511 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Operation.ChecksumConfiguration.RequestValidationModeMember));
#line default
#line hidden
this.Write(");\r\n }\r\n\r\n return CoreChecksumResponseBehavior.DISA" +
"BLED;\r\n }\r\n }\r\n\r\n private static List _supportedChecksumAlgorithms = new List\r\n {\r" +
"\n ");
#line 520 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(string.Join(", ", Operation.ChecksumConfiguration?.ResponseAlgorithms?.Select(s => $"CoreChecksumAlgorithm.{s}").ToArray())));
#line default
#line hidden
this.Write(@"
};
///
/// Checksum algorithms supported by this operation for response validation
///
protected override System.Collections.ObjectModel.ReadOnlyCollection ChecksumResponseAlgorithms => _supportedChecksumAlgorithms.AsReadOnly();
#endregion
");
#line 528 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
if (this.Structure.Members.Any(m => !m.IsExcluded && m.IsBackwardsCompatibleDateTimeProperty))
{
#line default
#line hidden
this.Write("#region Backwards compatible properties\r\n");
#line 535 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
foreach(var member in this.Structure.Members)
{
if (member.IsExcluded || !member.IsBackwardsCompatibleDateTimeProperty)
continue;
#line default
#line hidden
this.Write(" private ");
#line 541 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
#line 541 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.IsNullable ? "?" : ""));
#line default
#line hidden
this.Write(" ");
#line 541 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityVariableName));
#line default
#line hidden
#line 541 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.ShouldInstantiate ? string.Format(" = new {0}();", member.DetermineType()) : ";"));
#line default
#line hidden
this.Write("\r\n");
#line 542 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write("\r\n");
#line 546 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
foreach(var member in this.Structure.Members)
{
if (member.IsExcluded || !member.IsBackwardsCompatibleDateTimeProperty)
continue;
#line default
#line hidden
#line 552 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.FormatPropertyDocumentation(member, "This property is deprecated. Setting this property results in non-UTC DateTimes " +
"not being marshalled correctly. Use " + member.PropertyName + " instead. Setting either " + member.BackwardCompatibilityPropertyName +
" or " + member.PropertyName + " results in both " + member.BackwardCompatibilityPropertyName + " and " +
member.PropertyName + " being assigned, the latest assignment to either one of the two property is reflected in " +
"the value of both. " + member.BackwardCompatibilityPropertyName + " is provided for backwards compatibility only " +
"and assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.");
#line default
#line hidden
this.Write(" [Obsolete(\"Setting this property results in non-UTC DateTimes not being m" +
"arshalled correctly. \" +\r\n \"Use ");
#line 559 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" instead. Setting either ");
#line 559 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write(" or ");
#line 559 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" results in both ");
#line 559 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write(" and \" +\r\n \"");
#line 560 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" being assigned, the latest assignment to either one of the two property is \" + \r" +
"\n \"reflected in the value of both. ");
#line 561 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write(" is provided for backwards compatibility only and \" +\r\n \"assigning a n" +
"on-Utc DateTime to it results in the wrong timestamp being passed to the service" +
".\", false)]\r\n ");
#line 563 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.AccessModifier));
#line default
#line hidden
this.Write(" ");
#line 563 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.DetermineType()));
#line default
#line hidden
#line 563 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.UseNullable ? "?" : ""));
#line default
#line hidden
this.Write(" ");
#line 563 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write("\r\n {\r\n get { return this.");
#line 565 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityVariableName));
#line default
#line hidden
this.Write(".GetValueOrDefault(); }\r\n set\r\n {\r\n this.");
#line 568 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityVariableName));
#line default
#line hidden
this.Write(" = value;\r\n this.");
#line 569 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(" = new DateTime(value.Ticks, DateTimeKind.Utc);\r\n }\r\n }\r\n");
#line 572 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if (member.EmitIsSetProperties)
{
#line default
#line hidden
this.Write(" /// \r\n /// This property is set to true if the property <" +
"seealso cref=\"");
#line 577 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write(@"""/>
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
[Obsolete(""Setting ");
#line 586 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write(" results in non-UTC DateTimes not being marshalled correctly. Use ");
#line 586 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write(" instead.\", false)]\r\n public bool Is");
#line 587 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.BackwardCompatibilityPropertyName));
#line default
#line hidden
this.Write("Set\r\n {\r\n get\r\n {\r\n return this.Is");
#line 591 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("Set;\r\n }\r\n set\r\n {\r\n this.Is");
#line 595 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName));
#line default
#line hidden
this.Write("Set = value;;\r\n }\r\n }\r\n");
#line 598 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
}
#line default
#line hidden
this.Write("#endregion\r\n");
#line 604 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
if (this.Structure is ExceptionShape)
{
var exceptionShape = (ExceptionShape)this.Structure;
if (exceptionShape.IsRetryable)
{
#line default
#line hidden
this.Write(@" ///
/// Flag indicating if the exception is retryable and the associated retry
/// details. A null value indicates that the exception is not retryable.
///
public override RetryableDetails Retryable
{
get
{
return _retryableDetails;
}
}
");
#line 623 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
}
}
}
else //TODO: remove this else clause. It was added just to preserve whitespaces
{
#line default
#line hidden
this.Write("\r\n");
#line 633 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
if (this.StructureType == StructureType.Response && hasStreamingMember)
{
#line default
#line hidden
this.Write(@" #region Dispose Pattern
private bool _disposed;
///
/// Disposes of all managed and unmanaged resources.
///
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (_disposed)
return;
if (disposing)
{
");
#line 658 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
if (this.Structure != null)
{
foreach (var member in this.Structure.Members)
{
if (member.IsStreaming)
{
#line default
#line hidden
this.Write(" this.");
#line 666 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write("?.Dispose();\r\n this.");
#line 667 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName));
#line default
#line hidden
this.Write(" = null;\r\n");
#line 668 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
}
}
#line default
#line hidden
this.Write(" }\r\n\r\n this._disposed = true;\r\n }\r\n\r\n #endr" +
"egion\r\n");
#line 679 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
}
#line default
#line hidden
this.Write(" }\r\n}\r\n\r\n\r\n");
return this.GenerationEnvironment.ToString();
}
#line 686 "C:\Dev\Repos\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\SourceFiles\StructureGenerator.tt"
// Set to true when the service model specifies a shape that should be wrapped in a response. ElastiCache CreateCacheCluster is an example of this.
public bool IsWrapped { get; set; }
public Operation Operation { get; set; }
public string ClassName { get; set; }
public string BaseClass { get; set; }
public Shape Structure { get; set; }
public StructureType StructureType { get; set; }
#line default
#line hidden
}
#line default
#line hidden
}