using System; using System.Collections.Generic; using System.Diagnostics; namespace ServiceClientGenerator.DefaultConfiguration { /// /// Model representing the default configuration modes as built /// from the sdk-default-configurations.json file. /// public class DefaultConfigurationModel { public List Modes { get; set; } = new List(); /// /// Provides documentation on each configuration option, ie /// . /// /// Key is a Property in , value is the /// Documentation describing the configuration option that Property represents. /// public Dictionary ConfigurationOptionDocumentation { get; set; } = new Dictionary(); } [DebuggerDisplay("{"+ nameof(Name) + "}")] public class DefaultConfigurationMode { /// /// Identifies a specific configuration mode. Example legacy, mobile, cross-region, etc /// public string Name { get; set; } /// /// Description of this Configuration Mode /// public string Documentation { get; set; } /// /// A retry mode specifies how the SDK attempts retries. /// See https://docs.aws.amazon.com/sdkref/latest/guide/setting-global-retry_mode.html /// public RequestRetryMode RetryMode { get; set; } /// /// Specifies how the SDK determines the AWS service endpoint that it uses to talk to the AWS Security Token Service (AWS STS). /// See https://docs.aws.amazon.com/sdkref/latest/guide/setting-global-sts_regional_endpoints.html /// public StsRegionalEndpointsValue StsRegionalEndpoints { get; set; } /// /// Specifies how the SDK determines the AWS service endpoint that it uses to talk to the Amazon S3 for the us-east-1 region /// public S3UsEast1RegionalEndpointValue S3UsEast1RegionalEndpoint { get; set; } /// /// The amount of time after making an initial connect attempt on a socket, where if the client does not /// receive a completion of the connect handshake, the client gives up and fails the operation. /// public TimeSpan? ConnectTimeout { get; set; } /// /// The maximum amount of time that a TLS handshake is allowed to take from the time the CLIENT HELLO message is sent to /// the client and server have fully negotiated ciphers and exchanged keys /// public TimeSpan? TlsNegotiationTimeout { get; set; } /// /// How long an application will attempt to read the first byte over an established, /// open connection after write request before timing out. /// public TimeSpan? TimeToFirstByteTimeout { get; set; } /// /// This timeout measures the time between when the first byte is sent over an established, /// open connection and when the last byte is received from the service. /// If the response is not received by the timeout, then the request is considered timed out. /// public TimeSpan? HttpRequestTimeout { get; set; } } /// /// RetryMode determines which request retry mode is used for requests that do /// not complete successfully. /// /// This is a copy of Amazon.Runtime.RequestRetryMode public enum RequestRetryMode { /// /// Legacy request retry strategy. /// Legacy, /// /// Standardized request retry strategy that is consistent across all SDKs. /// Standard, /// /// An experimental request retry strategy that builds on the Standard strategy /// and introduces congestion control through client side rate limiting. /// Adaptive } /// /// Sts Regional Endpoints Value determines whether or not /// to send the sts request to the regional endpoint or to /// the global sts endpoint /// /// This is a copy of Amazon.Runtime.StsRegionalEndpointsValue public enum StsRegionalEndpointsValue { /// /// Send the request to the global sts endpoint /// if the region is a legacy global region /// Legacy, /// /// Send the request to the regional endpoint /// Regional } /// /// S3 US East 1 endpoint value determines whether or not /// to send the us-east-1 s3 requests to the regional endpoint or to /// the legacy global endpoint /// /// This is a copy of Amazon.Runtime.S3UsEast1RegionalEndpointValue public enum S3UsEast1RegionalEndpointValue { /// /// Sends the requests to the legacy global s3 endpoint for us-east-1 /// Legacy, /// /// Sends the request to the regional s3 endpoint for us-east-1 /// Regional } }