<#@ template language="C#" inherits="BaseGenerator" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="ServiceClientGenerator.DefaultConfiguration" #> <# AddLicenseHeader(); #> using System; using System.Collections.Generic; using System.Collections.ObjectModel; using Amazon.Runtime; namespace <#= base.Config.Namespace#> { /// /// Configuration for accessing Amazon <#= base.Config.ClassName#> service /// public static class Amazon<#= base.Config.ClassName#>DefaultConfiguration { /// /// Collection of all s supported by /// <#= base.Config.ClassName#> /// public static ReadOnlyCollection GetAllConfigurations() { return new ReadOnlyCollection(new List { <#= string.Join(",\r\n ", base.DefaultConfigurationModel.Modes.Select(x => x.Name).ToArray()) #> }); } <# foreach (var mode in base.DefaultConfigurationModel.Modes) { #> /// /// <#= mode.Documentation#> /// public static IDefaultConfiguration <#= mode.Name#> {get;} = new DefaultConfiguration { Name = DefaultConfigurationMode.<#= mode.Name#>, RetryMode = <#= nameof(RequestRetryMode) #>.<#= mode.RetryMode#>, StsRegionalEndpoints = <#= nameof(StsRegionalEndpointsValue) #>.<#= mode.StsRegionalEndpoints#>, S3UsEast1RegionalEndpoint = <#= nameof(S3UsEast1RegionalEndpointValue) #>.<#= mode.S3UsEast1RegionalEndpoint#>, <# if (mode.ConnectTimeout.HasValue) { #> // <#= mode.ConnectTimeout.Value.ToString("g") #> ConnectTimeout = TimeSpan.FromMilliseconds(<#= mode.ConnectTimeout.Value.TotalMilliseconds #>L), <# } else { #> ConnectTimeout = null, <# } if (mode.TlsNegotiationTimeout.HasValue) { #> // <#= mode.TlsNegotiationTimeout.Value.ToString("g") #> TlsNegotiationTimeout = TimeSpan.FromMilliseconds(<#= mode.TlsNegotiationTimeout.Value.TotalMilliseconds #>L), <# } else { #> TlsNegotiationTimeout = null, <# } if (mode.TimeToFirstByteTimeout.HasValue) { #> // <#= mode.TimeToFirstByteTimeout.Value.ToString("g") #> TimeToFirstByteTimeout = TimeSpan.FromMilliseconds(<#= mode.TimeToFirstByteTimeout.Value.TotalMilliseconds #>L), <# } else { #> TimeToFirstByteTimeout = null, <# } if (mode.HttpRequestTimeout.HasValue) { #> // <#= mode.HttpRequestTimeout.Value.ToString("g") #> HttpRequestTimeout = TimeSpan.FromMilliseconds(<#= mode.HttpRequestTimeout.Value.TotalMilliseconds #>L) <# } else { #> HttpRequestTimeout = null <# } #> }; <# } #> } }